Java泛型学习-理解泛型的内部实现
来源:互联网 发布:装修业务网络单 编辑:程序博客网 时间:2024/06/01 07:47
泛型是JDK1.5 版本的新特性,泛型的好处是在编译时期编译器会检查你的类型,在编译完成以后就擦除掉泛型的信息.
阅读下面的Demo就可以理解了:
package com.mari.generic;import java.lang.reflect.Method;import java.util.ArrayList;public class Main { public static void main(String[] args) throws Exception { //创建一个ArrayList,指定的泛型为String类型 ArrayList<String> list = new ArrayList<String>(); 调用add方法,往集合中插入一个字符串 list.add("abc"); //使用反射技术拿到add方法 Method method = ArrayList.class.getDeclaredMethod("add", Object.class); method.setAccessible(true); //调用add方法,往list集合中插入一个int类型的5. method.invoke(list, 5); //拿到list集合中的第二条数据.也就是我们插入的int类型的5 //这里就会抛出异常了.Integer不能转换为String类型. System.out.println(list.get(1)); }}
下面是Demo输出的结果:
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at com.mari.generic.Main.main(Main.java:19)
0 0
- Java泛型学习-理解泛型的内部实现
- java 泛型的学习和理解
- java泛型 泛型的内部原理
- java泛型-泛型的内部原理
- Java泛型的内部机制
- Java泛型内部原理
- foreach的内部实现和泛型代码
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- Java 泛型的理解与等价实现
- [Ubuntu] 修改键盘默认布局 Ctrl 与 CapsLock 替换
- 第12周项目2-Time类中的运算符重载
- 3.Linux应用编程——进程
- Android性能优化方案
- leetcode 141 Linked List Cycle C++
- Java泛型学习-理解泛型的内部实现
- NYOJ_247_虚拟的城市之旅,最短路
- Android Studio自动生成get,set,tostring,构造函数及重写父类的方法
- 阅读程序(6)
- Java多线程Thread与Runnable
- jzoj3395 Freda的传呼机
- 第十三周项目57-立体类族共有的抽象类
- C++const总结
- 极大连通子图和极小连通子图