unused suppresswarnings sirve que para java eclipse annotations compiler-warnings suppress-warnings

java - sirve - No necesario @SuppressWarnings("no utilizado")



@suppresswarnings( unused)para que sirve (4)

Recibo una advertencia del compilador para la anotación @SuppressWarnings en eclipse para el código:

@Override public boolean doSomething(@SuppressWarnings("unused") String whatever) throws AnException { throw new AnException("I''m still in bed and can''t do anything until I''ve had a shower!"); }

Parece un garabato amarillo debajo de la palabra "no usado" y al pasar el mouse consigo la información sobre herramientas No es necesario Unnecessary @SuppressWarnings("unused") .

Creo que a otro desarrollador se le está pidiendo que coloque estas anotaciones en el eclipse y, básicamente, se me pide que las elimine. ¿Cómo puedo configurar eclipse para que me @SuppressWarnings que coloque la anotación @SuppressWarnings en lugar de que se queje de ello?

Si alguien quisiera comentar sobre las mejores prácticas aquí, entonces eso también sería bienvenido.


Alternativamente, si cree que es más correcto eliminar la anotación SuppressWarnings:

Ventana -> Preferencias -> Java -> Compilador -> Errores / Advertencias -> Código innecesario -> El valor del parámetro no se usa

y seleccione Ignorar en anular e implementar métodos


En el código de su pregunta, la @SuppressWarnings("unused") es necesaria porque el método está anulando otro método de una superclase o implementando una interfaz. Incluso si en realidad no usa el parámetro que whatever , es obligatorio declararlo, de lo contrario, la anotación @Override producirá un error (estaría cambiando la firma del método anulado si eliminó el parámetro).

En algunas versiones anteriores de Eclipse, el código que se muestra no causaría una advertencia, pero en versiones más recientes lo hace. Creo que es una advertencia válida, y prefiero eliminar @SuppressWarnings("unused") en este caso.


En mi código no hay herencia que defina los 3 métodos con @SuppressWarnings ("sin usar")

Este código proporciona ''@SuppressWarnings innecesario ("unused")'' en Eclipse Juno (última versión), pero si elimino @SuppressWarnings ("unused"), obtengo "Constructor / Method nunca se usa" en las advertencias de IntelliJ IDEA 11.1. 3

Los métodos no se utilizan directamente en el proyecto, solo los productos de terceros Jackson, JAXB y GSON, por lo que IntelliJ tiene razón, diría ...

public class EmailUnsendable extends SkjemaError { private NestedCommand command; // Can''t be Command (interface) because of GSON! @SuppressWarnings("unused") // Used by Jackson/JAXB/GSON public EmailUnsendable() { } public EmailUnsendable(String referenceNumber, String stackTrace, NestedCommand command) { super(referenceNumber, stackTrace); this.command = command; } @SuppressWarnings("unused") // Used by Jackson/JAXB/GSON public NestedCommand getCommand() { return command; } @SuppressWarnings("unused") // Used by Jackson/JAXB/GSON public void setCommand(NestedCommand command) { this.command = command; } }

Creo que esto es un error en Eclipse.


Ir

VentanaPreferenciasJavaCompiladorErrores / AdvertenciasAnotaciones .

Y seleccione Ignorar para el token ''@ SuppressWarnings'' no utilizado .