我认为数组是静态的,即元素大小不能增加或减少。为什么当我声明一个x元素数组时,我可以将y> x元素的数组复制到我的新数组中,如下所示:
import java.util.Arrays;
public class CopyOf {
public static void main(String[] args) {
int[] array ={4,5,4,65,465,4,56,456,6,43,3,5,45};
//copiedArray has 4 elements
int[] copiedArray = new int[4];
copiedArray = Arrays.copyOf(array, array.length);
// copiedAarray now has 13 elements
System.out.println(Arrays.toString(copiedArray));
}
}
答案 0 :(得分:9)
此
int[] copiedArray = new int[4];
创建数组引用,并将其分配给具有4 int
(s)空间的新数组。然后,这个
copiedArray = Arrays.copyOf(array, array.length);
创建一个新数组并将其分配给copiedArray
。在上一行创建的4 int
(s)不再可访问,现在可以进行垃圾回收。
答案 1 :(得分:3)
copiedArray
将其引用从数组[4]更改为数组[13]
现在变量array
和copiedArray
指向同一个对象。