我在Java中引用對象時遇到問題。這是情況。如何將HashMap複製到具有不同引用的ArrayList
比方說,我有一個名爲MyObject的對象類。
class MyObject {
Long id;
String item;
Integer number;
BigDecimal bigNumber;
//and Some getter and setter methods
}
讓我們也說我有HashMap的:
HashMap<Long, MyObject> myHash = new HashMap<Long, MyObject>();
和我填此HashMap與MyObject來的一些對象。
然後,當我嘗試將此散列表的所有元素複製到arrayList(使用addAll方法)時,散列表中包含的所有對象都被複制到具有相同引用的數組列表中。出於這個原因,當我嘗試在散列表中更改MyObject對象時,它也在arrayList中更改。我不想那樣。我如何防止這種情況發生?
我希望我明確地告訴問題。
在此先感謝。
你必須複製'MyObject',通常與拷貝構造函數。 – 2013-05-11 17:40:15