Java 7
我写了这个:
public static <E extends Enum<E>> List<SelectItem> getSelectItemList(Enum<E>... es){
List<SelectItem> items = new ArrayList<SelectItem>();
for(Enum<E> e : es){
items.add(new SelectItem(e, e.toString()));
}
return items;
}
并且此方法在没有警告的情况下编译。为什么?我期望这样使用泛型类型的varargs(实际上是一个数组)会产生
Potential heap pollution via varargs parameter es
你无法解释它吗?