Java 为什么要列出<;列表<;整数>&燃气轮机;列表=新阵列列表<;ArrayList<;整数>&燃气轮机;() ;这是错的吗?
为什么以下代码在Java中是错误的Java 为什么要列出<;列表<;整数>&燃气轮机;列表=新阵列列表<;ArrayList<;整数>&燃气轮机;() ;这是错的吗?,java,list,arraylist,Java,List,Arraylist,为什么以下代码在Java中是错误的 List<List<Integer>> list = new ArrayList<ArrayList<Integer>>(); List List=new ArrayList(); >我知道 list list = new AlayList](/Calp>)是正确的。< p>因为java中的泛型类型不是协变的。< /p>(其实是简单的,因为它不是双泛型的),但是如果你理解了,你可以很容易地应用它。基本上,考
List<List<Integer>> list = new ArrayList<ArrayList<Integer>>();
List List=new ArrayList();
>我知道
ArrayList
的对象执行此操作。过去已多次提出此问题。事实上,@JonSkeet不止一次地回答了这个问题。在我看来,他的答案比他的答案要好,他把这封信作为一个复制品,尽管我非常讨厌在任何关于继承的问题上把狗扩展动物作为一个例子。你能给我更多的解释吗?协变项与何处相关?它被标记为重复项,请按照链接问题进行操作。