Java 1.7 varargs 函数报告为未选中警告
我们使用一些 varargs 函数,当我们迁移到 java 1.7 时,我们收到了一个奇怪的未经检查的警告。
接口 ICache 中添加函数
public interface ICache<O> {
void add(Object source, O... objects);
}
在界面中报告错误。
ICache.java:18: warning: [unchecked] Possible heap pollution from parameterized vararg type O
void add(Object source, O... objects);
where O is a type-variable:
O extends Object declared in interface ICache
1 warning
O 扩展 Object,作为其泛型缓存类。
我阅读了xlint警告,我们确实在未选中的情况下进行编译,但 http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#xlintwarnings 似乎暗示此错误应该是[varargs]类型而不是未经检查的类型。
我错过了什么吗?