就我而言
我们可以在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
。我不希望您再持有参考。放手 this 参考(这是一个长度为2的数组!
"那是长度1的原始数组对象会发生什么?"你问。这是GC到位的地方。在某个时候,没有指向指向的对象。