2013-03-02 131 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方法,而不是採取複製每個元素的負擔。

相關問題