在Eclipse 3.1体验J2SE 5.0新特性七(图)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

图3.2.1 使用类向导创建范型类

使用Eclipse接口向导创建范型接口

图3.2.2 使用接口向导创建范型接口

3.2.4范型方法

类型参数(type parameter)不仅仅可以用来声明范型类或者范型接口, 也可以用来声明范型方法, 而且这种声明的范型方法可以用在非范型类中, 声明范型方法的一般格式是

清单3.2.5 范型方法的一般形式

return-type method-name(parameter-list) {}

清单3.2.6 范型方法示例

publicString getString(T obj) {

return obj.toString();

}

3.2.5 受限范型

受限范型是指类型参数的取值范围是受到限制的。

extends要害字不仅仅可以用来声明类的继续关系,也可以用来声明类型参数(type parameter)的受限关系。例如,我们只需要一个存放数字的列表, 包括整数(Long, Integer, Short), 实数(Double, Float),不能用来存放其他类型, 例如字符串(String)。

也就是说, 要把类型参数T的取值范型限制在Number极其子类中.在这种情况下, 我们就可以使用extends要害字把类型参数(type parameter)限制为数字。

清单3.2.7 受限范型示例

public class Limited {

public static void main(String[] args) {

Limited number; //正确

Limited str; //编译错误

}

}

在Eclipse 3.1中, 上例中的编译错误信息如下图所示

图3.2.3 由于受限范型导致的编译错误

3.3 在程序中使用范型

3.3.1在程序中使用范型类

在创建范型类的对象的时候, 和创建普通对象基本类似, 必须提供具体的类类型来替代类型参数T (J2SE 5.0目前不支持原始类型作为类型参数(type parameter)).

清单3.3.1, 使用范型类

//假如需要整型的列表

GenList integerList = new GenList();

//假如需要字符型的列表

GenList strList = new GenList();

//不能使用原始类型

GenList nList = new GenList();//编译错误

3.3.2 使用范型解决类型安全性问题

使用范型实现的列表是类型安全的, 下列破坏类型安全语句会在编译的时候检查出来。 把鼠标放在错误标记上, Eclipse 3.1中的错误提示就会显示,如下图所示:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航