首页 新闻 会员 周边 捐助

运用map时碰到的小困惑

0
悬赏园豆:20 [已解决问题] 解决于 2014-12-12 22:17

package com.rah.admin.action;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

public class MapTest {
public static void main(String[] args) {
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> m = new LinkedHashMap<String, Object>();
m.put("name", "rah");
m.put("age", 12);
list.add(m);
Map<String, Object> m1 = list.get(0);
m1.put("father", "ruan");
System.out.println(m1.size());
System.out.println(m.size());
System.out.println(m==m1);
}

}
结果是:
3
3
true
为什么给m1进行put,m的值也会发生改变,是不是m1和m的内存地址相同.请大神给我分析下

我是诗爷的主页 我是诗爷 | 初学一级 | 园豆:161
提问于:2014-10-08 20:01
< >
分享
最佳答案
0

因为m和m1都只是引用,引用的都是同一个对象。

收获园豆:20
GisClub | 菜鸟二级 |园豆:330 | 2014-10-09 10:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册