Utilizamos algunas funciones varargs y cuando nos movemos a java 1.7 recibimos una extraña advertencia no verificada.Función de Java 1.7 varargs informada como advertencia no marcada
Función añadir en iCache interfaz
public interface ICache<O> {
void add(Object source, O... objects);
}
en una interfaz informa del error.
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 extends Object, como su clase de caché genérica.
He leído las advertencias de xlint y compilamos sin marcar, pero http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#xlintwarnings parece implicar que este error debe ser del tipo [varargs] y no anulado.
¿Echo de menos algo?
¿Podemos ver todas las partes relevantes de ICache y SomeClass? –
Editado para agregar fuente. –
Eche un vistazo a [este sitio oficial de Oracle] (http://docs.oracle.com/javase/7/docs/technotes/guides/language/non-reifiable-varargs.html), explica varargs montón contaminación en detalle , ¿por qué el compilador de Java 7 genera una advertencia y cómo puede suprimirlo? – buc