以下非常简单的代码:
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
是一个通用类。怎么了?
答案 0 :(得分:2)
因为您使用的是raw type。相反,请使用diamond operator
Object o = new AbstractMap.SimpleImmutableEntry<>(e.getKey(), e.getValue());