2012-07-02 71 views
2

如果我從我的HashMap中取出一個對象,然後修改它。它會在HashMap內部修改嗎?或者,我需要在修改它之後再次將它設置回HashMap嗎?關於HashMap.get(key)函數

例如:

HashMap<Integer,TwoPoints> loc = new HashMap<Integer,TwoPoints>(); 
... 
... 
TwoPoints tp = loc.get(Id); //pulls out the object 
tp.setPoint(group, new Point(x,y); //a method to set something inside the object I pulled. 
+6

試試吧,看看.... – duffymo

回答

5

你得到實際對象的引用,所以任何變化將反映在它。您沒有創建副本。

更新:

由於我使用的術語「參考」,我想指出的定義是很重要的。在Java的背後,事情並不像這樣簡單。但是參考(你在做什麼)是將指針賦值給該對象。

+0

好的,謝謝。 – NucS

+1

在所有其他情況下也是如此:將對象從數組或其他類型的集合中拉出,將對象傳遞給方法,將多個變量指向同一對象等等。 – Thilo