gpt4 book ai didi

java - 复制数组——初始大小重要吗?

转载 作者:行者123 更新时间:2023-11-29 09:35:03 27 4
gpt4 key购买 nike

所以我是 Java 的新手,所以这个问题可能看起来有点傻,但无论如何......假设我们有这样的代码:

int[] oneArray = {1,2,3,4,5,6,7,8,9,10};
int[] anotherOne = new int[150];
anotherOne = Arrays.copyOf(oneArray, oneArray.length);

当我打印 anotherOne 时,无论初始大小是多少,在 copyOf 方法之后,它将是我们作为所述函数的第二个参数声明的内容。在上面的例子中,数组将缩减为 10 个元素(或者指针将开始指向内存中的另一个位置,我想是在此处创建了一个新的 10 元素数组?)。那么我是不是弄错了,或者 anotherOne 的初始大小根本没有意义,如果创建它只是为了在将来某个时候成为副本,那么应该在不指定大小的情况下对其进行初始化 (int[] anotherOne;)?

最佳答案

改为这样做。这将使您免于创建不需要的中间数组。

int[] oneArray = {1,2,3,4,5,6,7,8,9,10};
int[] anotherOne = Arrays.copyOf(oneArray, oneArray.length);

但是,如果您确实需要第二个数组的长度为 150,那么您可以这样写:

int[] oneArray = {1,2,3,4,5,6,7,8,9,10};
int[] anotherOne = new int[150];
System.arraycopy(oneArray, 0, anotherOne, 0, oneArray.length);

关于java - 复制数组——初始大小重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12464414/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com