new ArrayList()

来源:百度知道 编辑:UC知道 时间:2024/06/19 13:13:33
我写这个语句 List list = new ArrayList();
为什么Eclipse会要求我把List 强制转换成ArrayList,我明明两个包都加进去了啊。

是不是包导错了,两个都是java.util.*
下面的
还有救是List是接口不能被直接使用,只能使用它的实现类,ArrayList就是其中以个实现类。
直接List list = new ArrayList();
这样写他会警告你,叫你使用泛型指定存值的类型
如:List<String> list = new ArrayList<String>();
不会报警告信息!

是warning,不是error。jdk1.5会提示要求使用泛型来增强安全性。

List 是从collection继承下来的,所以它也是一个接口,接口的实现必须要一个实现类,ArrayList 就是List的一个实现类,所以当然要转换成这个了

不是要你强制转换吧,是要求你用泛型来表示吧