HashMap引用没有改变

时间:2014-09-23 13:43:42

标签: java

我创建了一个新的HashMap对象说。现在我将此对象传递给一个方法,在该方法中,我将变量的引用更改为其他一些hashmap对象。一旦方法完成,就不会反映对此新对象的引用

示例:

Map<String, Boolean> map = new HashMap<String, Boolean>();
changerefofMap(HashMap<String, Boolean>() map)
{
map=methodwhichreturnSomeMap();
System.out.println(map.size());  //returns 2
}
System.out.println(map.size());  //returns 0

我不明白为什么引用没有改变。

2 个答案:

答案 0 :(得分:0)

因为在java中你总是pass by value

答案 1 :(得分:0)

当你传递地图对象时,它实际上并没有使用原始地图。如果你想改变方法之外的方法,你应该直接引用它。