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的内存地址相同.请大神给我分析下
因为m和m1都只是引用,引用的都是同一个对象。