在Eclipse 3.1中体验J2SE 5.0新特性之一
在Eclipse 3.1中体验J2SE 5.0新特性二
本文将介绍J2SE 5.0中三个比较重要的特性:枚举类型,注释类型,范型, 并在此基础上介绍在如何在Eclipse 3.1开发环境中开发枚举类型, 注释类型和范型应用。
J2SE 5.0 (Tiger)的发布是Java语言发展史上的一个重要的里程碑,是迄今为止在 Java 编程方面所取得的最大进步。
J2SE 5.0提供了很多令人激动的特性。这些特性包括范型(generics)的支持, 枚举类型(enumeration)的支持, 元数据(metadata)的支持, 自动拆箱(unboxing)/装箱(autoboxing), 可变个数参数(varargs), 静态导入(static imports), 以及新的线程架构(Thread framework)。
随着J2SE 5.0的推出, 越来越多的集成开发环境(IDE)支持J2SE 5.0的开发。 著名的开源Java IDE Eclipse从3.1M4开始支持J2SE 5.0的开发, 目前最新的版本是3.1RC4。
本系列将介绍J2SE 5.0中三个比较重要的特性: 枚举类型,注释类型,范型, 并在此基础上介绍在如何在Eclipse 3.1开发环境中开发枚举类型, 注释类型和范型应用。本文将介绍范型。
3. 范型
3.1范型(Generics)简介
J2SE 5.0中的最显著的变化之一是添加对泛型类型的支持。在J2SE 1.4 以及之前的版本中, Java程序并不是类型安全的。例如, Collection framework中定义的List, Map等容器类的元素都是Object类型,即这个类包含的元素是Object对象。 使用这种方式实现的列表,可以用来操作整数,实数, 字符串或者任何对象类型。例如
清单3.1.1 类型不安全的代码示例
List stringList = new ArrayList();
stringList.add("abcde");
String str = (String)stringList.get(0);
|
这种方法实现的列表需要使用强制类型转换(又称显示造型),因此不是类型安全的。 在上面这段代码种,虽然变量名为stringList, 但是我们仍然可以把一个整型对象添加到这个队列中,例如,
清单3.1.2 类型不安全的代码示例
stringList.add(new Integer(5));
|
在这种情况下, 从字符列表中获取对象时, 强制类型转换就会导致运行时异常。
清单3.1.3 类型不安全的代码示例
String str = (String)stringList.get(1); //runtime exception
|
范型是Java迈向类型安全的一个重要步骤,使用范型可以构造出类型安全的代码。
1
2
3
4
5
6
7
8
下一页>>
|