首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

地图中是传值还是引用

2013-01-21 
map中是传值还是引用我有个工程,大量的从一个Map中取出String,再存入另两个Map,有点担心内存。f(Map map1,M

map中是传值还是引用
我有个工程,大量的从一个Map中取出String,再存入另两个Map,有点担心内存。

f(Map map1,Map map2,Map map3){
 String s = (String)map1.get("a"); //取出来的s是值还是引用?
 map2.put("a",s); //存入的s是值还是引用?
 map3.put(s,"a"); //存入的s是值还是引用?
}

我理解,java传的都是引用,也就是3个map中用的都是同一个s,不会拷贝3份。
想确认一下。
[解决办法]

引用:
3个map中用的都是同一个s,不会拷贝3份。


没错。
[解决办法]
引用:
引用:3个map中用的都是同一个s,不会拷贝3份。

没错。


虽然理论上说,取决于 Map 的具体实现。

常用的 HashMap, TreeMap 都是你想的那样。
[解决办法]
lz可以用 == 试试, 相等就是一样了
[解决办法]
这java中,基本上你不去new一下,或者不去重写=号,基本上都是传引用

热点排行