繁体   English   中英

通过引用将较小的2d数组分配给较大的2d数组

[英]Assign smaller 2d array to larger 2d array by reference

在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

不起作用。 但是,是否有一种方法可以将较小数组的地址分配给较大数组的某个部分,还是我们必须逐个元素地执行此操作?

当您可以将内存地址分配给另一个变量时,它将只是对同一阵列的另一个引用。 如果要将数据移至更大的阵列,则必须将其复制。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM