★ 泛型是 JDK 1.5 版本引进的概念,之前是没有泛型的概念的,但泛型代码能够很好地和之前版本的代码很好地兼容。

CollectionTest.java ---编译成CollectionTest.class ----JVM中运行

因为泛型信息只存在于代码编译阶段,编译器编译完带有泛形的java程序后,生成的class文件中与泛型相关的信息会被擦除掉,以此使程序运行效率不受到影响,这个过程叫做类型擦除,也就是说泛型类和普通类在 java 虚拟机内是一样的。

List<String> strLis = new ArrayList<String>();

List<Integer> intLis = new ArrayList<Integer>();

System.out.println(strLis.getClass() == intLis.getClass());//true

泛型类List<String>和List<Integer>经过编译被类型擦除后类型均为java.util.ArrayList

思考:由于编译生成的字节码会丢掉泛型的类型信息,只要能跳过编译器,就可以往某个泛型集合中加入其它类型的数据(反射中的知识点)。

在JDK 1.5中, 你还可以按原来的方式将各种不同类型的数据装到一个集合中,但编译器会报告unchecked警告。

最新文章

  1. PHP webservice的使用
  2. PHP关于web页面交互内容
  3. VS2013 ViewData ViewBag Ajax等关键词报错(当前上下文不存在名称)而且不提示也点不出来,但是可以正常运行,
  4. 「2014-3-13」Javascript Engine, Java VM, Python interpreter, PyPy &ndash; a glance
  5. 解决Apache/PHP无法启动的问题
  6. Java内存泄露及性能调优实例
  7. python成长之路【第二篇】:列表和元组
  8. 【转】jsonp详解
  9. SDP平台操作视频
  10. 分享自lordinloft 《[转载]COMPILE_OPT 的用法介绍》
  11. 带括号的四则混合运算的算符优先算法-----java实现
  12. poj 1659 Frogs&#39; Neighborhood (贪心 + 判断度数序列是否可图)
  13. LInux 下挂在Windows共享文件夹
  14. Python之路Day9
  15. Jsp分页实例---真分页
  16. (转)eclipse自动补全的设置
  17. [国嵌攻略][163][linux-usb软件系统架构]
  18. 剑指offer-两个链表的第一个公共节点
  19. Spring MVC中jsessionid所引起的问题 和解决
  20. dubbo负载均衡与集群集群容错

热门文章

  1. 模拟ArrayList
  2. 关于使用metronic时里modal模拟框使用ueditor时不能全屏的情况
  3. python 学习 (迟到的2017小结)
  4. Orchard Core 文档翻译 (四)CMS ModulesTitle (OrchardCore.Title)
  5. swift语言的特点(相对于oc)
  6. Uva 11491 暴力贪心
  7. ART_20190430
  8. 2018.12.30 Intellij IDEA设置main方法自动补全
  9. 2018.11.30 zsh: command not found: mysql 的解决办法mac环境下
  10. CentOS6.6上进程挂起的诡异问题和处理