能否将数组存储在ArrayList中吗?

问题描述 投票:0回答:1

我正在尝试用Java编写一个简单的Chess程序。有一个ArrayList存储骑士可以做的所有动作,每个动作都是Integer[]。数组中的第一项是行,第二项是列。看起来像这样:

ArrayList<Integer[]> moves = new ArrayList<Integer[]>();
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> expectednot a statement

我不确定是什么引起了问题。 Java是否不允许在ArrayLists中存储数组,或者我的确切语法有问题吗?

java arrays arraylist chess
1个回答
4
投票

您总是需要初始化数组才能使其工作。

ArrayList<Integer[]> moves = new ArrayList<>();
moves.add(new Integer[]{ 2, 1});
© www.soinside.com 2019 - 2024. All rights reserved.