ArrayList l = new ArrayList();
HashMap m = new HashMap();
m.put("a", "a1");
l.add(m);
ArrayList l2 = (ArrayList)l.clone();
HashMap m2 = (HashMap)l2.get(0);
m2.put("a", "a2");
System.out.println(l);
System.out.println(l2);l和l2里面的值是一样的啊 l.clone并没有切断和l的关系,也就是l2只是别名化了,哪位高手能告诉我如何使得m2的值变化,同时又不影响m的值,谢谢
HashMap m = new HashMap();
m.put("a", "a1");
l.add(m);
ArrayList l2 = (ArrayList)l.clone();
HashMap m2 = (HashMap)l2.get(0);
m2.put("a", "a2");
System.out.println(l);
System.out.println(l2);l和l2里面的值是一样的啊 l.clone并没有切断和l的关系,也就是l2只是别名化了,哪位高手能告诉我如何使得m2的值变化,同时又不影响m的值,谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货