1

可能重复:
Java 泛型:无法将 List<SubClass> 转换为 List<SuperClass>?

我只是想知道为什么以下java代码无法编译:

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

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

字符串扩展了对象,所以我会认为使用多态性,因为字符串“是一个”对象,字符串可以替换为对象。

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

提前致谢...

4

3 回答 3

1

你可以这样做

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

对象具有继承性,但泛型有点不同。

于 2012-10-02T11:47:22.710 回答
0

Thsi dosnt 像这样工作,这里的共同父级是 List 而不是存储在该 List 中的元素类型。因此这两种类型并不真正相关。看看这个

于 2012-10-02T11:45:09.387 回答
0

这通常是这种情况,但不适用于泛型。泛型用于准确指定集合中包含的对象。你可以在这里阅读更多关于它们的信息。

于 2012-10-02T11:46:40.423 回答