Почему у вас не может быть «List <List <String >>» на Java? [Дубликат]

На этот вопрос уже есть ответ здесь:

Является ли List <Dog> подклассом List <Animal>? Почему дженерики Java не являются неявно полиморфными? 16 ответов

Почему в Java не работает следующая строка кода?

List<List<String>> myList = new ArrayList<ArrayList<String>>();

Это работает, если я изменю это на

List<ArrayList<String>> myList = new ArrayList<ArrayList<String>>();

Сначала я подумал, что у вас не может быть списков интерфейсов, но я могу создатьList<Runnable> просто хорошо.

Идеи?

Ответы на вопрос(6)

Ваш ответ на вопрос