通过引用将较小的二维数组分配给较大的二维数组

直流电

在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();
    }


}

明显的线

板 = x

不起作用。但是有没有办法将较小数组的地址分配给较大数组的某些部分,或者我们是否必须逐个元素地执行此操作?

f9t0

虽然您可以将内存地址分配给另一个变量,但它只是对同一数组的另一个引用。如果要将数据移动到更大的数组,则必须复制它们。

for (int i = 0; i < 5; i++){
    for (int j = 0; j < 9; j++){
        board[i][j] = X[i][j];
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章