在JDK1.5中加入了泛型,能帮助我们简化代码,能解决不少问题,那JDK1.5中是如何实现的呢 ?
JDK1.5中泛型的实现是擦拭法实现的,不同与c++中的泛型。说擦拭法可能有点难理解,所以从下边的角度理解一下:
我们写一个程序 1 package com.jdk15;
import java.util.ArrayList;
public class Generic {
public static void main(String[] args){
ArrayList<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
String str = list.get(0);
}
}编译成.class的文件
然后用Jad反编译后的结果:
package com.jdk15;
import java.util.ArrayList;
public class Generic
{
public Generic()
{
}
public static void main(String args[])
{
ArrayList list = new ArrayList();
list.add("a");
list.add("b");
String str = (String)list.get(0);
}
}
看到这个是否明白了吗 ?
在JDK1.5中,只是在编译期作了下手脚,就是在你编译之前,自动补充了转型,然后编译实现的。
所以JDK1.5中的泛型只简化了代码的编写,并没有提高性能的原因。因为转型并没有去掉。
分享到:
相关推荐
JDK1.5的泛型实现.pdf
JDK1.5的泛型实现
java经典教程-JDK1.5的泛型实现
JDK1.5的泛型实现
JDK 1.5中繼續悠遊「泛型」技術。 閱讀本文之前,如果自覺基礎不夠,可以補充閱讀適才提到的《Java泛型技術之 發展》,那是一篇非常完整的文章,可助您完整認識泛型技術的來龍去脈。 Sun JDK的泛型發展歷史要從 ...
JDK1.5新特性泛型_深入研究JDK1.5新特性泛型_深入研究JDK1.5新特性泛型_深入研究
java编程的泛型实现
JDK1.5泛型讲解 不错的东西 对jdk需要研究的朋友不妨看看 新手也来学习学习```
jdk1.5的新特性泛型的实例代码,很好的学习资料
包含 jdk1.5免安装、jdk1.6免安装、jdk1.8(32和64)
JDK1.5泛型 里面有很多的例子供大家学习
泛型的使用文档,教你在JDK1.5中如何使用泛型
jdk1.5.exe jdk1.5 jdk1.5下载
jdk 1.5 中文 api chm jdk 1.5 中文 api chm
前几天上传过这个资源,因为是在jdk1.6上开发的, 测试了一下在jdk1.5上不能用, 今天重新用jdk1.5编译了一下, 这个是可以支持jdk1.5+的 将 pu-xlscommon-1.0.0.jar 添加到工程的 /lib 目录下 用法在附件中 XlsTest....
JDK1.5,JDK1.5
绝版jdk1.5,非常不错的资源。用起来很好。是 Java语言对Bean类属性、事件的一种缺省处理方法。例如类A中有属性name,那我们可以通过getName,setName来得到其值或者设置新 的值。通过getName/setName来访问name属性,...
测试可用的linux版jdk1.5,jdk-1_5_0_19-linux-i586-rpm.bin
“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-else 循环,自动装包/拆包,枚举,可变参数, 静态导入