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中克隆方法的输出 //创建新的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和hmap2都指向同一个内存引用。
请纠正我的错误。

您正在将空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);