为什么我不能通过使用整数引用列表创建整数数组列表


List<List<Integer>> sets = new ArrayList<ArrayList<Integer>>();

为什么上面给出了一个编译器错误,为什么我不能在这里使用泛型列表引用,为什么我需要使它成为特定的arraylist引用?

要进行编译,您需要:

List<? extends List<Integer>> sets = new ArrayList<ArrayList<Integer>>();

List<List<Integer>> sets = new ArrayList<List<Integer>>();

List<List<Integer>>可以包含任何类型的List<Integer>,例如LinkedList<Integer>List<ArrayList<Integer>>(或ArrayList<ArrayList<Integer>>(只能包含ArrayList<Integer> s。

你必须这样做:

List<? extends List<Integer>> sets = new ArrayList<ArrayList<Integer>>();

原因与List<Integer>不是List<Number> 的原因相同

最新更新