【问题标题】:Why does creating SimpleImmutableMap cause unchecked cast warning?为什么创建 Simple ImmutableMap 会导致未经检查的强制转换警告?
【发布时间】:2016-09-08 09:27:18
【问题描述】:

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

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

DEMO

为什么? AbstractMap.SimpleImmutableMap 是一个泛型类。怎么了?

【问题讨论】:

    标签: java generics unchecked-cast


    【解决方案1】:

    因为您使用的是raw type。相反,请使用diamond operator

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多