Funkcja Java 1.7 varargs zgłoszona jako niesprawdzone ostrzeżenie
Używamy niektórych funkcji varargs i kiedy przechodzimy do Java 1.7, otrzymujemy dziwne, niesprawdzone ostrzeżenie.
Funkcja dodaj w interfejsie ICache
public interface ICache<O> {
void add(Object source, O... objects);
}
w interfejsie zgłasza błąd.
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 rozszerza obiekt, jako jego ogólną klasę pamięci podręcznej.
Przeczytałem ostrzeżenia xlint i kompilujemy je bez zaznaczenia, alehttp://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#xlintwarnings wydaje się sugerować, że ten błąd powinien być typem [varargs], a nie niesprawdzonym.
Czy czegoś mi brakuje?