gpt4 book ai didi

java - HashMap 中克隆方法的输出

转载 作者:行者123 更新时间:2023-11-30 06:44:10 25 4
gpt4 key购买 nike

     // 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);
}
}

为什么 hmap 中的更改没有反射(reflect)在 hmap2 中?这是一个浅拷贝,hmap 和 hmap2 都指向相同的内存引用。有错误的地方请指正。

最佳答案

您正在将空 hmap 克隆到 hmap2,然后将值设置到 hmap。

     // 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);

关于java - HashMap 中克隆方法的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43942834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com