Проблема здесь немного тонкая.Чтобы исправить это, вам нужно:
List<List<String>> myList = new ArrayList<List<String>>();
В определении myList запрашивается список списков строк , но вы реализуете его как ArrayListArrayLists of Strings , и они не совпадают.Это станет проблемой, если позже вы попробуете что-то вроде:
myList.add(new LinkedList<String>());
Это нормально по определению Список списков строк , но нарушает определение реализации.LinkedList является списком , но не является списком ArrayList.
Если вы хотите установить, что это ArrayList ArrayLists of Strings ,тогда вы можете использовать определение ArrayList<ArrayList<String>> myList
, но обычно лучше придерживаться интерфейсов.
С моим пересмотренным кодом вы все равно можете сделать его в реализации ArrayList из ArrayLists of Strings.
List<List<String>> myList = new ArrayList<List<String>>();
for (int i = 0; i < rowSize; i++)
{
myList.add(new ArrayList<String>());
}
Это согласуется с определением myList как Список списков строк , но вы все равно получаете преимущества от использования ArrayList за кулисами.