7.1.2 JDK 5的特点

JDK 5其实就是JDK1.5,JDK1.5(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,包括泛型、for-each循环、自动装包/拆包、枚举、可变参数、静态导入。

使用这些特性有助于编写更加清晰、精悍、安全的代码。下面简单介绍一下这些新特性。

❑泛型(Generic)

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

❑for-each循环

for-each循环的加入简化了集合的遍历。

❑自动装包/拆包(Autoboxing/unboxing)

自动装包/拆包大大方便了基本类型数据和其包装类的使用。自动装包就是基本类型自动转为包装类。自动拆包就是包装类自动转为基本类型。在JDK1.5之前,总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了问题。

❑枚举(Enums)

JDK1. 5加入了一个全新类型的“类”—枚举类型。

❑可变参数(Varargs)

可变参数的出现,使程序员可以声明一个接受可变参数数目的方法。

注意 可变参数必须是函数声明中的最后一个参数。

❑静态导入(Static Imports)

要使用静态成员(方法和变量),必须给出提供这个方法的类。使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,从而在使用这些静态成员时无须再给出它们的类名。