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的值,谢谢