Почему я не могу создать массив списков целых чисел, используя список из списка целочисленных ссылок? - PullRequest
1 голос
/ 05 июня 2011
List<List<Integer>> sets = new ArrayList<ArrayList<Integer>>();

Почему вышеприведенное приводит к ошибке компилятора и почему я не могу использовать здесь ссылку на общий список, почему мне нужно сделать ее конкретной ссылкой на массив?

Ответы [ 3 ]

3 голосов
/ 05 июня 2011

Для этого вам понадобится:

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

или

List<List<Integer>> sets = new ArrayList<List<Integer>>();
1 голос
/ 05 июня 2011

A List<List<Integer>> может содержать любой тип List<Integer>, например LinkedList<Integer>. List<ArrayList<Integer>> (или ArrayList<ArrayList<Integer>>) может содержать только ArrayList<Integer> с.

0 голосов
/ 05 июня 2011

Вы должны сделать это так:

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

Причина та же, что и для List<Integer>, а не List<Number>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...