2012-10-02 122 views
1

可能重复:
Java Generics: Cannot cast List<SubClass> to List<SuperClass>?名单的ArrayList转换

我只是想知道为什么下面的Java代码不能编译:

List<Object> c1 = new ArrayList<String>(); 

的错误是: cannot convert from ArrayList <String> to List<Object>

字符串扩展对象,所以我会认为与多态性,作为字符串“是”的对象,该字符串可以替代对象。

我刚开始学习java,所以希望这个问题很有意义。

在此先感谢...

回答

0

Thsi dosnt工作就是这样,这里的共同父目录,而不是存储在该列表中的元素类型。因此这两种类型并不真正相关。看看this

0

这是正常情况,但不适用于仿制药。泛型用于精确指定集合中包含的对象。你可以阅读更多关于他们here

1

你可以做到这一点

List<? extends Object> list=new List<String>(); 

对象具有继承性,但是仿制药都有点不同。