Java 在方法中作为参数传递数组
我正在尝试用java编写一个简单的国际象棋程序。有一个数组列表,存储骑士可以做的所有动作,每个动作都是一个Java 在方法中作为参数传递数组,java,arrays,arraylist,chess,Java,Arrays,Arraylist,Chess,我正在尝试用java编写一个简单的国际象棋程序。有一个数组列表,存储骑士可以做的所有动作,每个动作都是一个整数[]。数组中的第一项是行,第二项是列。看起来是这样的: 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
整数[]
。数组中的第一项是行,第二项是列。看起来是这样的:
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});
ArrayList moves=new ArrayList();
添加({row-2,col-1});
添加({row-1,col-2});
add({row-2,col+1});
添加({row-1,col+2});
添加({row+1,col-2});
添加({row+2,col-1});
添加({row+2,col+1});
moves.add({row+1,col+2});
出于某种原因,当我尝试运行代码时,我会遇到大约100个错误,包括表达式的非法开始
,预期的
,以及非语句
我不确定是什么导致了这个问题。Java不允许在ArrayList中存储数组,或者特定语法有问题吗?您始终需要初始化数组才能正常工作
ArrayList<Integer[]> moves = new ArrayList<>();
moves.add(new Integer[]{ 2, 1});
ArrayList moves=new ArrayList();
add(新整数[]{2,1});
始终需要初始化阵列才能使其工作
ArrayList<Integer[]> moves = new ArrayList<>();
moves.add(new Integer[]{ 2, 1});
ArrayList moves=new ArrayList();
add(新整数[]{2,1});
如果我使用int[]
而不是Integer[]
,我还需要这样做吗?是的,你会的@ap@ap数组是Java中的对象,如果基元类型的数组如果我使用int[]
而不是Integer[]
,我还需要这样做吗?是的,你需要这样做@ap@ap数组是Java中的对象,事件原始类型的数组在声明变量或字段时,您只能使用数组的简短初始化,例如int[]test={1,2,3}
否则必须使用newint[]{1,2,3}
在声明变量或字段时只能使用数组的简短初始化,例如int[]test={1,2,3}
否则必须使用newint[]{1,2,3}