在Java中,数组值不是顺序存储在内存中吗?有什么方法可以将数组的内存地址分配给另一个变量?
这是我正在处理的代码:
public static void main(String[] args){
String[][] board = new String[15][27];
String[][] X = new String[5][9];
String[][] Y = new String[5][9];
X[1][3] = "X";
X[1][5] = "X";
X[2][4] = "X";
X[3][3] = "X";
X[3][5] = "X";
Y[1][3] = "O";
Y[1][4] = "O";
Y[1][5] = "O";
Y[2][3] = "O";
Y[2][5] = "O";
Y[3][3] = "O";
Y[3][4] = "O";
Y[3][5] = "O";
board = X;
System.out.println("\u000C");
for (int i = 0;i < 15;i++){
for (int j = 0;j < 27; j++){
System.out.print(board[i][j]);
}
System.out.println();
}
}
显然是
board = x
不起作用。但是,是否可以将较小数组的地址分配给较大数组的某个部分,还是必须逐个元素地进行此操作?
答案 0 :(得分:1)
虽然您可以将内存地址分配给另一个变量,但它只是对同一阵列的另一个引用。如果要将数据移至更大的阵列,则必须将其复制。
for (int i = 0; i < 5; i++){
for (int j = 0; j < 9; j++){
board[i][j] = X[i][j];
}
}