黑马程序员技术交流社区
标题:
如何证明泛型擦除
[打印本页]
作者:
linjl_ll
时间:
2013-11-14 13:59
标题:
如何证明泛型擦除
本帖最后由 linjl_ll 于 2013-11-14 21:08 编辑
我们知道泛型是编译时技术,编译之后的字节码是没有泛型信息的。那么如何使用代码证明这一点呢?是否可以使用反射来证明?
作者:
秦桂胜
时间:
2013-11-14 19:45
可以用反射来证明
ArrayList<Integer> collection3 = new ArrayList<Integer>();
collection3.getClass().getMethod("add", Object.class).invoke(collection3, "abc");
都可以编译通过,并添加成功
作者:
七道
时间:
2013-11-14 20:24
ArrayList<String> al1=new ArrayList<String>();
ArrayList<Integer> al2=new ArrayList<Integer>();
System.out.println(al1.getClass()==al2.getClass());//看它们两的字节码是一样的
复制代码
作者:
linjl_ll
时间:
2013-11-14 21:08
逛论坛发现这个问题,后来我感觉就可以说明泛型擦除
http://bbs.itheima.com/thread-99639-1-1.html
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2