我在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