日期:2014-05-20  浏览次数:20592 次

关于一个泛型的写法
我想问下
1: List<String> list = new ArrayList<String>();
2: List<String> list = new ArrayList();
这两种写法再应用上有区别吗?
因为泛型是停留在编译期的
那是不是两种的效果是一样的
还是说有 不同的
请指教 。。 谢谢

------解决方案--------------------
一样
------解决方案--------------------
List<String> list 是创建了一个List<String>引用
 则list一定要指向List<String>的对象

 new List() 是创建了一个对象
 可是这个对象里可以放任意类型的对象

 又list只能指向List<String>的对象 所以效果和前两行代码是一样

 你运行一下 下面代码 就可以看出问题了 我想应该不用注释了吧
List simple = new ArrayList();
list.add(1);
List<String> stringlist = list;
System.out.println(stringlist.get(0));
------解决方案--------------------
这样能编译吗