首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java对泛型的支持(1)

2013-03-27 
Java对泛型的支持(一)题外话:前几天我的笔记本电脑硬盘坏了,本子送到售后进行维修,需要2到3个工作日才能搞

Java对泛型的支持(一)

题外话:前几天我的笔记本电脑硬盘坏了,本子送到售后进行维修,需要2到3个工作日才能搞定。。现在木有本本用了,无奈就借了女朋友的本子先用着了。。现装的JDK,UltraEdit。。所以下面的图片中编译器的报错信息就变成了中文。。哎,脆弱的硬盘啊。。。Java对泛型的支持(1)


Java在J2SE 5.0后开始增加了泛型(Generics)功能,并且许多API都根据这个新的功能被重新改写了,例如List、Map、Set等与数据结构相关的类。如果我们不想使用泛型功能,也可以用J2SE 1.4或以前的版本的语法来使用这些类,但编译的时候就会出现一些警告。如果对泛型了解不足,那么就会完全不知编译器所云。因此,了解或学会使用泛型是十分必要的。


1、在没有泛型之前

先来看2个类:

IntegetTest : 

因此这就需要开发人员在写代码的时候要额外注意。在没有泛型之前,所有存入List, Map, Set窗口中的实例都会失去其类型信息,当我们要取出数据进行使用时,就必须再手动强制转换回它们原来的类型。如果我们忘记了它们是什么类型的对象,那就费时了。。慢慢拉上去翻前面的代码吧。。。


2、定义泛型类

为了解决传统的泛型设计用Object定义类所带来的种种问题(如类型丢失、程序员忘记了转换类型、必须将其转换为原来的类型才能调用相应的方法),Java在J2SE 5.0之后提出了针对泛型设计的解决方案。

如:下面的代码用泛型类取代了Object :

class TestArray<T>{    // 声明T类型的数组    private T[] objs = new T[10]; //Error        public TestArray(T[] objs)    {        this.objs = objs;    }}


了解了以上知识,我们就可以在实际中应用泛型类了。在下一节中我们会介绍Java中泛型的高级语法。



热点排行