Java HashMap中克隆方法的输出 //创建新的HashMap HashMap hmap2=新的HashMap(); //在第二个哈希映射中克隆第一个哈希映射 hmap2=(HashMap)hmap.clone(); //System.out.println(“克隆地图包含:“+hmap2”); 字符串x=hmap.get(11); x=“aks”; hmap.put(11,x); hmap.put(99,“kdkshkjshdk”); System.out.println(“克隆地图包含:”+hmap); System.out.println(“克隆地图包含:“+hmap2”); } }
为什么hmap中的变化没有反映在hmap2中?这是一个浅拷贝,hmap和hmap2都指向同一个内存引用。Java HashMap中克隆方法的输出 //创建新的HashMap HashMap hmap2=新的HashMap(); //在第二个哈希映射中克隆第一个哈希映射 hmap2=(HashMap)hmap.clone(); //System.out.println(“克隆地图包含:“+hmap2”); 字符串x=hmap.get(11); x=“aks”; hmap.put(11,x); hmap.put(99,“kdkshkjshdk”); System.out.println(“克隆地图包含:”+hmap); System.out.println(“克隆地图包含:“+hmap2”); } },java,hashmap,clone,Java,Hashmap,Clone,为什么hmap中的变化没有反映在hmap2中?这是一个浅拷贝,hmap和hmap2都指向同一个内存引用。 请纠正我的错误。您正在将空hmap克隆到hmap2,然后将中的值设置到hmap // Creating a new HashMap HashMap<Integer, String> hmap2 = new HashMap<Integer, String>(); // cloning first HashMap in the secon
请纠正我的错误。您正在将空hmap克隆到hmap2,然后将中的值设置到hmap
// Creating a new HashMap
HashMap<Integer, String> hmap2 = new HashMap<Integer, String>();
// cloning first HashMap in the second one
hmap2=(HashMap)hmap.clone();
//System.out.println("Cloned Map contains: "+hmap2);
String x = hmap.get(11);
x = "aks";
hmap.put(11, x);
hmap.put(99, "kdkshkjshdk");
System.out.println("Cloned Map contains: "+hmap);
System.out.println("Cloned Map contains: "+hmap2);
}
}
//创建新的HashMap
HashMap hmap=新的HashMap();
HashMap hmap2=新的HashMap();
//System.out.println(“克隆地图包含:“+hmap2”);
字符串x=hmap.get(11);
x=“aks”;
hmap.put(11,x);
hmap.put(99,“kdkshkjshdk”);
//在第二个哈希映射中克隆第一个哈希映射
hmap2=(HashMap)hmap.clone();
System.out.println(“克隆地图包含:”+hmap);
System.out.println(“克隆地图包含:“+hmap2”);
// Creating a new HashMap
HashMap<Integer, String> hmap = new HashMap<Integer, String>();
HashMap<Integer, String> hmap2 = new HashMap<Integer, String>();
//System.out.println("Cloned Map contains: "+hmap2);
String x = hmap.get(11);
x = "aks";
hmap.put(11, x);
hmap.put(99, "kdkshkjshdk");
// cloning first HashMap in the second one
hmap2=(HashMap)hmap.clone();
System.out.println("Cloned Map contains: "+hmap);
System.out.println("Cloned Map contains: "+hmap2);