JAVA泛型
来源:互联网 发布:韩火火淘宝店的模特 编辑:程序博客网 时间:2024/06/05 01:03
说道泛型
我发现网上很多博客都写的太烂。。什么擦除什么之类 感觉很让人费解 我感觉要完全理解JAVA的泛型 估计要懂点编译技术就行(我不懂)当然我懂的一些都是建立再看了些东西 然后自己总结猜想出来的 感觉JAVA有个强大的编译器 再我们写代码的时候 做了很多工作
包括 检查 还有变换代码的形式
http://qiemengdao.iteye.com/blog/1525624 比如这篇博客上提到的列子
List myIntList=new LinkedList(); //1
myIntList.add(newInteger(0)); //2
list 对于加进去的东西 到编译好的时候都是 object
Integer x=(Integer)myIntList.iterator().next(); //3
这里不加cast不让你通过 就算让你这样编译好 然后跑起来是有漏洞的 比如如果add了一个 string 你直接赋给一个 integer
List<Integer> myIntList=newLinkedList<Integer>(); //1’
这里虽然你写了 Integer 编译好的代码仍然是 object
myIntList.add(new Integer(0)); //2’
(如果这里 你写myIntList.add(new String()); //2’ 编译器会检查出来直接报错 之间你如果没有定义integer 那么里面加什么都可以 但是你写了 编译器会检查);
Integerx=myIntList.iterator().next(); //3’
这里编译好了 编译器会自动给你加一个 (cast)
我只是认为是这样 反正 要想有个编译器 被背后做很多工作就是了
我发现网上很多博客都写的太烂。。什么擦除什么之类 感觉很让人费解 我感觉要完全理解JAVA的泛型 估计要懂点编译技术就行(我不懂)当然我懂的一些都是建立再看了些东西 然后自己总结猜想出来的 感觉JAVA有个强大的编译器 再我们写代码的时候 做了很多工作
包括 检查 还有变换代码的形式
http://qiemengdao.iteye.com/blog/1525624 比如这篇博客上提到的列子
List myIntList=new LinkedList(); //1
myIntList.add(newInteger(0)); //2
list 对于加进去的东西 到编译好的时候都是 object
Integer x=(Integer)myIntList.iterator().next(); //3
这里不加cast不让你通过 就算让你这样编译好 然后跑起来是有漏洞的 比如如果add了一个 string 你直接赋给一个 integer
List<Integer> myIntList=newLinkedList<Integer>(); //1’
这里虽然你写了 Integer 编译好的代码仍然是 object
myIntList.add(new Integer(0)); //2’
(如果这里 你写myIntList.add(new String()); //2’ 编译器会检查出来直接报错 之间你如果没有定义integer 那么里面加什么都可以 但是你写了 编译器会检查);
Integerx=myIntList.iterator().next(); //3’
这里编译好了 编译器会自动给你加一个 (cast)
我只是认为是这样 反正 要想有个编译器 被背后做很多工作就是了
0 0
- 【java 2】java泛型
- Java 泛型 Java generic
- Java Tutorials_Generics(java泛型)
- Java基础 Java 泛型
- java 泛型
- java泛型
- Java泛型
- Java泛型
- java泛型
- java泛型
- java泛型
- Java 泛型
- Java泛型
- Java 泛型
- JAVA 泛型
- java 泛型
- java泛型
- Java泛型
- 自定义View(一)
- Boost asio
- Visual Studio 2012 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
- arcgis api for js共享干货系列之二自定义Navigation控件样式风格
- 一位被清华录取的学霸,给中国父母的8点忠告,惊醒了无数家长!
- JAVA泛型
- maven pom.xml报错解决
- 前后端分离的思考与实践(六)
- 项目中的流程及类似业务的设计模式总结
- C++ 构造函数
- andorid事件分发机制 ViewGroup的事件分发机制
- 关于用户所属组(nagios在web页面管理监控)
- HTTP协议
- 【考试系统运维】——认识运维