我们可以在java中调整数组的大小吗?

我们可以在java中调整数组的大小吗?,java,arrays,Java,Arrays,我们可以在java中调整数组的大小吗?如果没有,请解释: int arr[] = new int[1]; arr[0]=-10; //arr[1]=1; arr=new int[2]; //Explain this arr[0]=-1; arr[1]=1; System.out.println(arr[0]+" "+arr[1]); 就我而言,调整数组大小是不可能的 要理解代码工作的原因,您需要理解数组是引用类型arr保存对实际数组的引

我们可以在java中调整数组的大小吗?如果没有,请解释:

    int arr[] = new int[1];
    arr[0]=-10;
    //arr[1]=1;
    arr=new int[2];  //Explain this
    arr[0]=-1;
    arr[1]=1;
    System.out.println(arr[0]+" "+arr[1]);

就我而言,调整数组大小是不可能的

要理解代码工作的原因,您需要理解数组是引用类型
arr
保存对实际数组的引用,如下所示:

      holds                points to
arr ----------> reference -----------> array object
在这方面:

arr=new int[2];
您没有对最末端的数组对象执行任何操作。你基本上是说:

arr
。我不想让你再拿着那个证明。放开并保持此引用(这是一个长度为2的数组)


“那么长度为1的原始数组对象会发生什么情况?”您问道。这就是GC的位置。在某些点上,将收集没有指向的引用的对象。

重新分配
!=<代码>调整大小。这是创建和分配一个新数组,而不是调整数组的大小。所以这不是Java的初学者教程。我建议你阅读感谢解释…@ SuprakashPal如果你认为我的答案回答你的问题,请考虑通过点击那个标记接受它!