码迷,mamicode.com
首页 > 其他好文 > 详细

jdk5.0中出现的新特性

时间:2014-12-20 15:31:02      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:

jdk5.0中出现的新特性

• 泛型(Generics)

• 增强的“for”循环(Enhanced For loop)

• 自动装箱/自动拆箱(Autoboxing/unboxing)

• 类型安全的枚举(Type safe enums)

• 静态导入(Static import)

• 可变参数(Var args)

1. 所谓泛型:就是变量类型的参数化。通过引入泛型,我们将获得编译时类型的安全和运行时更小地抛出ClassCastExceptions的可能。

 

2. 增强的for循环,For-Each循环的加入简化了集合的遍历,其语法如下

    for(type element : array) {

        ....

    }

 

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


4. 自动装箱:基本类型自动转为包装类.(int >> Integer)

    自动拆箱:包装类自动转为基本类型.(Integer >> int)

 

5. Integer 类有一个缓存,它会缓存介于-128~127 之间的整数。所以:Integer a =3 ;Integer b=3 中a==b为true。但如果使用new生成,则则结果为false。

 

6. 当您使用“enum”定义 枚举类型时,实质上您定义出來的类型继承自java.lang.Enum 类型,而每个枚举的成员其实就是您定义的枚举类型的一个实例(Instance),他们都被预设为 final,

    所以你无法改变他们,他们也是static成员,所以您可以通过类型名称直接使用他们,当然最重要的,它们都是公开的(public)

 

7. 枚举的使用场景:类型确定。与常量相比,枚举显得更规范,限制了方法中传入的参数值。

 

8. 可变参数:可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可以传递数组对象。但如果将方法中的参数定义为数组,

    那么只能传递数组对象而不能传递离散的值。

 

9. 可变参数必须要作为方法参数的最后一个参数,即一个方法不可能具有两个或两个以上的可变参数。


10. 导入Common类中的静态成员变量AGE以及静态方法output:

      1). import static com.shengsiyuan.common.Common.Age;       // 导入静态成员变量

      2). import static com.shengsiyuan.common.Common.output;    // 导入静态方法

      注意:使用import static时,要一直导入到类中的静态成员变量或静态方法。

 

11. 过度使用静态导入会一定程度上降低代码的可读性
   

jdk5.0中出现的新特性

标签:

原文地址:http://www.cnblogs.com/Jtianlin/p/4175429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!