黑马程序员技术交流社区

标题: 泛型擦除之后的补偿过程是怎么样的 [打印本页]

作者: 孙雪娇    时间: 2012-5-11 17:53
标题: 泛型擦除之后的补偿过程是怎么样的
编译的时候,编译器通过泛型机制,对元素进行检查,检查通过后产生的.class 文件不带泛型的信息。这个叫做泛型的擦除。
泛型擦除是将自定义的泛型类型以其父类代替吗?如String,Integer是不是还是变成了Object?
不写泛型的时候,在将对象调用时要加上强转,才能获得对象相应的属性和方法。
加上泛型,就不用强转了,是泛型机制将强转的过程封装了么?
谢谢。


作者: 孙雪娇    时间: 2012-5-11 18:31
{:soso_e115:}自己顶顶
作者: 黑马张立国    时间: 2012-5-11 18:39
String,Integer变成了Object
例如:
Collection<E>的 add(E e) 方法
collection <string> collection= new ArrayList<String>();
用反射调用add方法(E)那么这个E是什么呢?  什么可能都有,所以就变成了Object。
我想可能封装了吧,地层帮你完成了自动转换
作者: 李啸    时间: 2012-5-11 18:41
内部是把一个Object类型的数据强制转换成你所需要转换的数据类型




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2