关于HashMap.get(key)函数

时间:2012-07-02 01:29:42

标签: java hashmap

如果我从HashMap中提取一个对象,然后修改它。它会在HashMap内修改吗?或者,我需要在修改后再将其设置回HashMap吗?

例如:

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.

1 个答案:

答案 0 :(得分:5)

您正在获取对实际对象的引用,因此任何更改都会反映在其中。你没有创建副本。

<强>更新

由于我使用了“引用”一词,我认为指出定义很重要。在Java的引擎下,事情并不像这样简单。但是参考(你正在做的)是将指针加到对象上。