我认为数组是静态的,即它们的元素大小不能增加或减少。为什么当我声明一个 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));
}
}
最佳答案
这个
int[] copiedArray = new int[4];
创建一个数组引用,并将其分配给一个空间为 4 int
(s) 的新数组。那么,这个
copiedArray = Arrays.copyOf(array, array.length);
创建一个新数组并将其分配给 copiedArray
。上一行创建的 4 个 int
(s) 不再可达,现在可以进行垃圾回收了。
关于java - 为什么使用 Arrays.copyof() 会增加静态数组的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27151465/