Могут ли массивы храниться в ArrayLists? - PullRequest
1 голос
/ 15 января 2020

Я пытаюсь создать простую шахматную программу на java. Существует ArrayList, в котором хранятся все ходы, которые может сделать конь, причем каждый ход равен Integer[]. Первый элемент в массиве - это строка, а второй - столбец. Это выглядит так:

ArrayList<Integer[]> moves = new ArrayList<>();
moves.add({row - 2, col - 1});
moves.add({row - 1, col - 2});
moves.add({row - 2, col + 1});
moves.add({row - 1, col + 2});
moves.add({row + 1, col - 2});
moves.add({row + 2, col - 1});
moves.add({row + 2, col + 1});
moves.add({row + 1, col + 2});

По какой-то причине, когда я пытаюсь запустить код, я получаю около 100 ошибок, включая illegal start of expression, <identifier> expected и not a statement.

* 1009. * Я не уверен, что является причиной проблемы. Java не позволяет хранить массивы в ArrayLists или что-то не так с моим точным синтаксисом?

1 Ответ

4 голосов
/ 15 января 2020

Вам всегда нужно инициализировать массив, чтобы это работало.

ArrayList<Integer[]> moves = new ArrayList<>();
moves.add(new Integer[]{ 2, 1});
...