黑马程序员技术交流社区

标题: 这难道就是java 的小乐趣吗? [打印本页]

作者: 赵宇    时间: 2012-9-24 17:10
标题: 这难道就是java 的小乐趣吗?
本帖最后由 赵宇 于 2012-9-25 08:34 编辑

今天在复习的时候学习用泛型实现一个简单的集合,有了一点小收获。不知道大家发现了吗?
下面这个是我定义的;
public class Collection
{
          private T[] objArr ;  定义成T[] 类型的数组

public Collection()  
{
  
       objArr = (T[])object[10];    //接收任何类型的数组。

}

}
下面的是源码;private transient Object[] elementData;  他是定义一个Object[] 类型的数组

public E get(int index) {
RangeCheck(index);
return (E) elementData[index];                               //但是在取出的时候就必须转化为 E 类型
    }




作者: 尤圣回    时间: 2012-9-24 17:35
E 代表是对象类型 为什么要转呢 因为默认的是Object类型 如果你确定T的类型 那就不需要了
作者: 翁鹏    时间: 2012-9-24 21:55
其实这个只要将类型擦除理解好了就行了,理解了擦除后的类,该转时就转,不用转的时候就不用转,按实际情况而言。
作者: 明光照    时间: 2012-9-24 21:58
为什么看不懂啊




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