Мы используем некоторые функции varargs, и когда мы переходим на java 1.7, мы получаем странное непроверенное предупреждение.
Добавление функции в интерфейс ICache
public interface ICache {
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], а не непроверенного типа.
Я что-то упускаю?