0

我有两个数组,我试图将数组值从一个复制到另一个,但不是全部。这是我拥有的代码。我收到一条错误消息finalplace[y] = place[y];。我有另一个名为 的数组place,它是更长的数组。我不想制作 place 数组的精确副本。我只想获取它们的位置小于的第一个数组值count。有任何想法吗?

int [] finalplace = new int [count];
for (int y = 0; y <= count; y = y + 1) {
    finalplace[y] = place[y];
}
4

4 回答 4

1

您的新数组的索引范围高达但不包括count. 所以你应该对你的for循环做同样的事情。

请注意,这System.arraycopy将让您复制数组的一部分。

于 2013-03-02T19:54:48.653 回答
1

使用实用程序类

java.util.Arrays

有一堆复制方法。例如copyOfcopyOfRange

于 2013-03-02T19:57:02.847 回答
1

您可以尝试使用System.arraycopy()

int[] a = new int[]{1,2,3,4,5};
int[] b = new int[5];

System.arraycopy( a, 0, b, 0, a.length );
于 2013-03-02T19:58:34.323 回答
0

使用 Arrays.copyOf 方法而不是承担复制每个元素的负担。

于 2013-03-02T20:10:30.363 回答