2015-05-22 4 views
8

Как я могу инициализировать List<List<Integer>> в Java?Инициализировать список <Список <Integer>> в Java

Я знаю List является интерфейсом, и я могу использовать ArrayList или LinkedList реализовать List<Integer> list = new ArrayList<Integer>(), но когда я инициализировать List<List<Integer>> list = new ArrayList<ArrayList<Integer>>(); я получаю ошибки несовместимых типов:

ArrayList<ArrayList<Integer>> cannot be converted to List<List<Integer>>. 

Так как я могу продолжить?

ответ

16

Использование

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

или так Java 1.7

List<List<Integer>> list = new ArrayList<>(); 
+0

слава Богу, для этого нет объяснений, поэтому мы можем учиться? –

+0

Вопрос в том, как это сделать, поэтому я дам OP поиск терминов типа «инвариантность» и «алмазный оператор» :) – Reimeus

3

Вы можете определить его как List<List<Integer>> list = new ArrayList<List<Integer>>();.

Тогда при определении внутреннего List вы можете позаботиться о его инициализации как ArrayList<Integer>.

Смежные вопросы