2013-03-02 101 views
0

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

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

回答

1

您的新阵列的索引范围最大(但不包括)count。所以你应该对你的for循环做同样的事情。

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

1

使用实用工具类

java.util.Arrays 

有一堆的复制方法。例如copyOfcopyOfRange

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); 
0

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

相关问题