今年夏天,Sun将计划发布一个JAVA编程语言的重大修改版。该版本代号取名为“Tiger”,然而,很快将会有JDK1.5的官方名称。
该版本的Java语言将合并Java规格提案(Java Specification Requests,JSR)14与15 (JSR-14,
JSR-175)。它还将在运行时性能(runtime performance)、可扩缩性(scalability)、易管理性(manageability)和监控(monitoring)方面有较大加强。
本文中,我们将讨论几个在JDK1.5中新的语言特征,包括:
让我们详细讨论每个新特性,并看一些例子。
泛型是JDK1.5中一个最“酷”的特征。通过引入泛型,我们将获得编译时类型的安全和运行时更小地抛出ClassCastExceptions的可能。在JDK1.5中,你可以声明一个集合将接收/返回的对象的类型。在JDK1.4中,创建雇员名字的清单(List)需要一个集合对象,像下面的语句:
List listOfEmployeeName = new ArrayList();
在JDK1.5中,你将使用下面语句
List<String> listOfEmployeeName = new ArrayList<String>();
最“酷”的是,如果你试图插入非string类型的值,你将在编译时发现并且修正这类问题。没有泛型,你会发现这样一个bug,当你的客户调用后会告诉你,你所编写的程序抛出ClassCastException异常而崩溃。
另外,当你从集合中得到一个元素时你无需进行强制转换。故原先为:
String employeeName = ((String) listOfEmployee.get(i));
而下面的语句将比上面的更加简单:
String employeeName = listOfEmployee.get(i);