如何在java中实例化嵌套列表?列表<列表<整数>&GT; </列表<整数>

时间:2014-11-08 01:19:16

标签: java generics

编辑:

感谢您指出通用类型不变的讨论。看起来问题出在通用类型部分。 List<E>其中E是通用类型,在这种情况下,EList<Integer>,它是Integer s作为元素的接口,LinkedList<integer> }是一个对象(Integer s作为元素)而不是接口。所以它不起作用。

所以这需要分两步完成。我能正确理解吗?

List<List<Integer>> outter_list = new LinkedList<List<Integer>>();
List<Integer> innder_list = new LinkedList<Integer>();

它与父子类案例略有不同。因为在这种情况下,我们将对象实现接口与底层接口进行比较。

我希望他们能让这更容易......

原始问题:

这是来自LeetCode的问题。一个问题可能要求您编写一个返回List<Integer>的方法。我能做到:

LinkedList<Integer> list;
//code to construct the list here.
return list;

它运作正常。

有一个问题需要返回List<List<Integer>>及以下

LinkedList<LinkedList<Integer>> list;
//code to construct the lists here.
return list;

这不起作用,导致不兼容的类型错误。我很好奇为什么。

我必须在声明的第一行使用LinkedList<List<Integer>>才能使其正常工作。至于我的理解,LinkedList<LinkedList<Integer>> list;是一个实现List<List<Integer>>的完美的精细对象​​。为什么它不兼容?

0 个答案:

没有答案