小编Mas*_*shi的帖子

分配两个彼此相等的数组问题

public static void main(String[]args) {


    int[] x = {1, 2, 3, 4};
    int[] y ;
    y = x;
    x[1] = 11;
    x = new int[2];

    x[0]=99;
    for (int i = 0; i < y.length; i++)
      System.out.print(y[i] + " ");
    System.out.println("");
    for (int i = 0; i < x.length; i++)
          System.out.print(x[i] + " ");
}
Run Code Online (Sandbox Code Playgroud)

答案是

1 11 3 4 
99 0
Run Code Online (Sandbox Code Playgroud)

我的问题是我想当你分配两个数组时,它们共享相同的变化,因为它们是对象...就像我设置x[1] = 11;它时改​​变了它的值y,因此在将它改为2-后仍然不能与x相同大小的数组,或者因为我改变了大小,他们不再指向同一个地址?

java arrays pointers memory-management reference

5
推荐指数
1
解决办法
1129
查看次数

标签 统计

arrays ×1

java ×1

memory-management ×1

pointers ×1

reference ×1