提议中的Java泛型规范可能使编码更安全、更有效

ZDNet软件频道 时间:2003-10-31 作者:周靖 译 |  我要评论()
本文关键词:wushi
Sun计划在J2SE(Java 2标准版)的下个版本中重点改进其易用性。所以,J2SE 1.5(Tiger版)可能是非常重要的一次升级.
本文译自Builder.com,未经许可请勿转载

Sun计划在J2SE(Java 2标准版)的下个版本中重点改进其易用性。所以,J2SE 1.5(Tiger版)可能是非常重要的一次升级;它的beta版本预计于2003年的晚些时候发布。

J2SE 1.5计划主要从7个方面对语言进行改进:泛型(generics)、增强的for循环("foreach"),autoboxing/unboxing,类型安全的枚举、varargs、静态导入(static import)以及元数据。

Tiger版会评估许多JSR

Sun正在为Tiger评估许多JSR(Java规范请求)。泛型及其可能的增补方案已在JSR 14中讨论。我们在此强调的是新的泛型方案以及如何有效使用它。

提议中的泛型规范的优点

泛型最重要的一个优点就是不要求进行运行时类型检查。语言现有的类型检查是有限的,因为编译器只知道那么多。开发者如果因为错误的强制类型转换而遇到运行时异常,这个限制还会变得更加明显。

相反,支持泛型的编译器将运行时类型检查提前到编译时执行,使代码更安全。


其他优点是是不需要写额外的类(比如C++的模板类)来支持泛型。采用这种新方案,类或接口的声明方式只有微小的区别。具体请参见下面的讨论和示范程序。


提议中的泛型方案如何工作?

泛型方案引入了一种新的尖括号(< >)语法。这些尖括号要放在准备声明的类名旁边。下面比较了类的传统和泛型声明方式:

class Account              // 类的传统声明方式
{
  /* 细节*/
}

class Account<xxx>        // 类的泛型声明方式
{

  /* 类 */
}

在上例中,xxx要包括到尖括号中,它可以是你选择的任何标识符。也可在声明方法时使用尖括号语法,本文稍后还会详细讨论。注意,只有类或接口类型才能成为参数;基元类型则不能。下面,让我们详细讨论泛型的每一个要点。



百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134