我有叫人用性能的Hashmap返回引用,而不是拷貝
name
image
age
amount
一個模式,我有一個單獨的HashMap Hashmap<String,Person> globalPersonList
其中包含Person對象名單。
我想從我的HashMap中檢索一個單一的對象一樣
Person existingPerson = globalPersonList.get("key");
我想創建一個新的Person
實例,並用existingPerson
性質initiallize像
Person person = new Person();
person = globalPersonList.get("key");
現在我想設置量場對這個人對象。我試過像
newPerson.setAmount(100);
但它不應該影響globalPersonList
。我只需要在我的newPerson對象中獲得金額值。但是現在這個也設置在globalPersonList
之內。如果我嘗試去設定金額
globalPersonList.get("key").getAmount()
它給出我設定的金額。它是否使用對新對象的引用?我想要一個Person對象的單獨副本,以便它不會影響主散列表。
更清潔的方法將使用[原型設計模式](https://en.wikipedia.org/wiki/Prototype_pattern) –