hashmap中的clone()方法

时间:2015-03-11 07:28:50

标签: java hashmap clone

在hashmap中使用clone():

HashMap<Integer, String> map = new HashMap<>();

map.put(1, "Raj");
map.put(3, "Kumar");
map.put(2, "Ram");

HashMap map1 = (HashMap) map.clone();

map1.put(7, "Kavin");

System.out.println("Map1: "+map1);
System.out.println("Map: "+map);

这将输出为,
Map1:{1 = Raj,2 = Ram,3 = Kumar,7 = Kavin}
地图:{1 = Raj,2 = Ram,3 = Kumar}

但如果我尝试在 jdk8 中运行,则会引发编译错误。


注意:HelloWorld.java使用未经检查或不安全的操作。
注意:使用-Xlint重新编译:取消选中以获取详细信息。

计划2:

  HashMap<String, Integer> map = new HashMap<String, Integer>();
    map.put("Java", 8);
    map.put("Csharp", 5);
    Map<String, Integer> mapClone = (Map<String, Integer>) 
            Collections.checkedMap((Map<String, Integer>)map.clone(),  String.class, Integer.class);

但如果我尝试在 jdk8 中运行,则会引发编译错误。


注意:HelloWorld.java使用未经检查或不安全的操作。
注意:使用-Xlint重新编译:取消选中以获取详细信息。

为什么?? ...

1 个答案:

答案 0 :(得分:0)

  

注意:HelloWorld.java使用未经检查或不安全的操作。

     

注意:使用-Xlint重新编译:取消选中以获取详细信息。

这些警告不是Compilation Error

  

这些警告只是意味着编译器无法检查您的身份   使用泛型以类型安全的方式使用集合。