博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDK1.5新特性
阅读量:6045 次
发布时间:2019-06-20

本文共 1876 字,大约阅读时间需要 6 分钟。

hot3.png

一、静态导入(Static Imports)

jdk1.5之前:

java.lang.Math.abs(-100);

jdk1.5之后:

import static java.lang.Math.abs;abs(-100);

注意:过度使用这个特性也会一定程度上降低代码地可读性。

二、可变参数(Varargs)

jdk1.5之前:

使用数组代表方法中任意个参数:

pulic static int sum(int[] is){	int sum=0;	for(int i=0;i

jdk1.5之后:

public static int sum(int… is){	return 0;}		public static void main(String[] args) {	sum(1,2);	sum(4,5,6,7);}

注意:防止同一个类中出现重写的方法出现两个可变参数的方法。

三、增强for循环(For-Each)

jdk1.5之前:

void printAll(List
list) {   for (Iterator i = list.iterator(); i.hasNext(); ) {    Employee emp = i.next();    System.out.println(emp.getName());   } }

jdk1.5之后:

void printAll(List
list) {   for (Emploeye e : list)    System.out.println(e.getName()); }

在增强for循环中,你应该将":"看成"in",所以,在该例中可以看成"for Object o in c"。你可以发现这种For循环更具可读性。

注意:For-Each丢掉了索引信息。当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。

四、自动装箱/拆箱(Autoboxing/unboxing)

1.自动装箱

把一个基本类型的数据变成对象类型。

Integer i = new Integer(2);//3自动装箱为Integer类型System.out.println(i.equals(3));

2.自动拆箱

从对象类型中抽取出原始类型。

Integer i = new Integer(2);//i自动拆箱为int类型System.out.println(i==2);

五、枚举(Enum)

JDK1.5加入了一个全新类型的“类”-枚举类型,为此JDK1.5引入了一个新关键字enmu。当每一类型可取值范围是有限的时候,可以使用枚举。使用枚举增加程序的易读性和健壮性。我们可以这样来定义一个枚举类型:

public enum Color{   Red,   White,   Blue}
然后可以这样来使用:
Color myColor = Color.Red;
枚举类型还提供了两个有用的静态方法values()和valueOf(). 我们可以很方便地使用它们,例如
for (Color c : Color.values())    System.out.println(c);

六、注解/标签(annotation)

注解也被称为元数据。每当你创建描述符性质的类或接口时,一旦其中包含了重复性的工作,那就可以考虑使用注解来简化或自动化该过程。

更多介绍请访问:

七、泛型(Generic)

C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。一个集合可以放任何类型的对象,相应地从集合里面拿对象的时候我们也不得不对他们进行强制得类型转换。jdk1.5引入了泛型,它允许指定集合里元素的类型,这样你可以得到强类型在编译时刻进行类型检查的好处。

Collection
 c = new ArrayList();c.add(new Date());
编译器会给出一个错误:
add(java.lang.String) in java.util.Collection
 cannot be applied to (java.util.Date)

转载于:https://my.oschina.net/hongdengyan/blog/179707

你可能感兴趣的文章
Asp.net,C# 加密解密字符串
查看>>
网页视频播放器插件源码
查看>>
2019-4-23 plan
查看>>
[编解码] 关于base64编码的原理及实现
查看>>
WinDbg配置和使用基础
查看>>
转:Object-Runtime的基本数据类型
查看>>
JMJS系统总结系列----Jquery分页扩展库(五)
查看>>
Excel技巧之——英文大小写转换(转)
查看>>
Google 翻译的妙用
查看>>
常用的集合
查看>>
Unity3D工程源码目录
查看>>
杀死进程命令
查看>>
cookie 和session 的区别详解
查看>>
Mongodb对集合(表)和数据的CRUD操作
查看>>
Target runtime Apache Tomcat is not defined.错误解决方法
查看>>
VC++ 监视文件(夹)
查看>>
【转】keyCode对照表及JS监听组合按键
查看>>
[Java开发之路](14)反射机制
查看>>
mac gentoo-prefix安装git svn
查看>>
浅尝异步IO
查看>>