java - rawtypes - @suppresswarnings("unused")
¿Cómo hago anotaciones con @SuppressWarnings("sin marcar") para una sola conversión en lugar de un método completo? (2)
Puede extraer un método para esa línea y suprimir para esa línea / método.
Muchas herramientas / ides tienen formas propias de hacerlo, como colocar la anotación en la variable local, pero no creo que todos los compiladores lo admitan.
Parece excesivo cuando las anotaciones se aplican a un método.
¿Cómo uso la anotación @SuppressWarnings ("unchecked") para una sola conversión en lugar de un método completo?
En este ejemplo, acabo de comprobar que un yeso será seguro, por lo que procedo a lanzar pero recibo una advertencia molesta.
@Override
public void execDetails()
{
Map<Integer, ResponseList<?>> responseMap =
new HashMap<Integer, ResponseList<?>>();
// ... omitted code ...
ResponseList<?> responseList = responseMap.get(requestId);
Class<?> elementType = responseList.getElementType();
if (elementType == ExecutionDetail.class)
((ResponseList<ExecutionDetail>)responseList).add(new ExecutionDetail());
}
Puede usar @SuppressWarnings
para una sola declaración de variable:
public static List<String> foo(List<?> list) {
List<String> bad = (List<String>) list;
@SuppressWarnings("unchecked")
List<String> good = (List<String>) list;
return good;
}
Tiene que estar en el punto de la declaración de variable local aunque:
Las anotaciones se pueden usar como modificadores en cualquier declaración, ya sea paquete (§7.4), clase (§8), interfaz, campo (§8.3, §9.3), método (§8.4, §9.4), parámetro, constructor (§8.8) , o variable local (§14.4).