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

我们可以在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]); 

就我而言,调整arrays大小是不可能的。

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

  holds points to arr ----------> reference -----------> array object 

在这一行:

 arr=new int[2]; 

你最后没有对数组对象做任何事情。 你基本上是在说:

arr 。 我不想让你再拿这个参考了。 放开并按住引用(这是一个长度为2的数组)!

“那么长度为1的原始数组对象会发生什么?” 您询问。 这就是GC到位的地方。 在某些时候,会收集没有引用指向的对象。