繁体   English   中英

为什么创建SimpleImmutableMap会导致未经检查的转换警告?

[英]Why does creating SimpleImmutableMap cause unchecked cast warning?

在以下非常简单的代码中:

public static void test(Map<Externalizable, Externalizable> t){
    for(Map.Entry<Externalizable, Externalizable> e : t.entrySet()){
      //The next line causes unchecked cast warning
      Object o = new AbstractMap.SimpleImmutableEntry(e.getKey(), e.getValue());
    }
  }

演示

为什么? AbstractMap.SimpleImmutableMap是一个通用类。 怎么了?

因为您使用的是原始类型 而是使用菱形运算符

Object o = new AbstractMap.SimpleImmutableEntry<>(e.getKey(), e.getValue());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM