我正在研究一些代碼,並試圖找出如何將對象引用複製到另一個對象。我一直看到使用的clone()方法,但我讀過它的缺陷,我想要複製的類已經實現了可序列化。所以我有一個問題是關於使用'='和克隆方法之間的區別 - 我的理解是,這兩個都是淺拷貝,所以它們應該工作相同,但如果這是真的,那麼有一個方法的好處是什麼爲了這?在Java中使用'='與clone()
我正在處理的代碼有2個對象數組 - 兩個相同類型的對象,兩個數組中的所有對象最初都是空的,我將數組B的值分配給數組A相等。 由於代碼對數組A中的對象進行初始化並將值分配給數組A中對象的變量。 儘管代碼結束,但數組B中的所有對象仍爲空。
我在這裏有錯嗎? 如果這個概念沒有錯,我認爲這只是我在我的代碼中忽略的東西。
任何幫助表示讚賞。
你的問題是比較蘋果與橘子,它們是如此完全不同以至於無法比較。 '='指定一個引用,就是這樣。克隆創建了一個全新的對象,其狀態應該與克隆對象相同,但這兩件事情又非常不同。 – 2014-09-11 01:37:58
如果您可以提供示例代碼以便我們可以參考它,這將有所幫助 - 顯示代碼比描述它更好。 – 2014-09-11 01:39:56