2013-06-30 36 views
-4

我有2個對象數組,我想將一個對象從一個數組傳遞給另一個而不更改原始數組。Java將一個值傳遞給一個數組而不改變原始

Array1[3] = Array2[3]; 

Array1將被更改,而Array2不會。

我有一個名爲Level的類和一個名爲levelList的級數組;我也有這個名爲cleanLevelList的數組的副本,所以我可以重新加載原始級別。

我的呼喚:

levelList[1] = cleanLevelList[1]; 

它下一次它被稱爲它再次改變cleanLevelList工作一次即可;

我試過cleanLevelList.clone();

+6

...問題是? :) –

+0

你是什麼意思的「改變」。你是指數組本身,還是數組中的對象? –

+0

是什麼讓你認爲Array2可能會被賦值改變? – Xie

回答

1

是的,設計。單等於意味着將左操作數設置爲右操作數。 Array1的第4個元素設置爲Array2的第4個元素的值。這改變了數組的內容,但不是結構。

如果您正在嘗試進行比較,那麼您需要使用==作爲「is equal?」。或!=爲「不相等?」。如果你想Array2 [3]被設置爲Array1 [3]的值,那麼只需反轉操作數。

相關問題