java map的问题

Map paramMap = new HashMap();
paramMap.put("key1","value1");

PageBean.setParam(paramMap);

paramMap.put("key2","value2");

在PageBean的这个bean里面传递的map参数能够取到key2?搞不懂。

4个回答

这样:
[code="java"]Map tempParamMap = new HashMap();
tempParamMap.putAll(paramMap);
PageBean.setParam(tempParamMap); [/code]

[code="java"]PageBean.setParam(paramMap);[/code]
[b]
这里传递的是parmaMap的引用值,指向 堆空间中的 一块区域。[/b]

[code="java"]paramMap.put("key2","value2"); [/code]

[b]对paramMap的内容进行了修改,实际上是 堆空间的那块区域的内容变了。[/b]

[b]所以在[quote]PageBean的这个bean里面传递的map参数能够取到key2[/quote][/b]

[color=blue][b]简单的说:

PageBean中的Map 和 paramMap 指向的是 同一块 堆空间。[/b][/color]

你想 到不到 key2的值?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐