当前位置: 代码迷 >> J2SE >> 关于Java泛型的有关问题,知道的请进!
  详细解决方案

关于Java泛型的有关问题,知道的请进!

热度:4722   发布时间:2013-02-25 00:00:00.0
关于Java泛型的问题,知道的请进!!!
在看到类型擦除的时候,有点疑惑。
举个例子:
ArrayList<String> arrayList=new ArrayList<String>();
arrayList.add("123")//这个地方必须是字符串
为什么不可以是其他类型,不是说在编译的时候类型擦除了吗,那么,它的原始类型应该为Object,那么为什么add方法的参数不可以是其他的类型?

------解决方案--------------------------------------------------------
我猜先检查编译错误,如:泛型类型不一致。
然后再擦除继续编译。。。
------解决方案--------------------------------------------------------
刚才瞅了一下核心技术 在java5.0以前这个是不检查的 
arrayList.add(123); 这个是可以执行的 
但是在从arrayList中取这个值的时候会有错误 因此我觉着也是跟上面那哥们说的一样
先检查编译是否有错在执行
------解决方案--------------------------------------------------------
泛型的优点在于能够在编译时而不是在运行时检测错误
------解决方案--------------------------------------------------------
我记得编程思想里面说的是在变异的时候,就会记录下具体的类型
------解决方案--------------------------------------------------------
就是这样