0

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

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一个通用类。怎么了?

4

1 回答 1

2

因为您使用的是原始类型。相反,使用菱形运算符

Object o = new AbstractMap.SimpleImmutableEntry<>(e.getKey(), e.getValue());
于 2016-09-08T09:32:22.070 回答