java intellij-idea suppress-warnings

java - Suprime la advertencia de "la variable nunca se asigna" en IntelliJ IDEA



intellij-idea suppress-warnings (6)

Usamos la reflexión ampliamente para establecer valores de campo de clase en nuestro código. Se accede a los campos en código, pero nunca se asignan, excepto a través de la reflexión. Entonces, IDEA muestra una advertencia de "nunca se asigna". Si le pido a IDEA que suprima la inspección, inserta

@SuppressWarnings({"UnusedDeclaration"})

pero esto también desactiva la verificación de si el campo se usa o no, lo que no queremos.

¿Es de alguna manera posible desactivar solo la verificación "no asignada" y dejar la verificación "no utilizada" solo para campos específicos?

La versión IDEA es 10.5


  1. ejecutar análisis: Analizar> Verificar código ...
  2. Haga clic derecho en la declaración no utilizada (debajo del nodo del árbol de redundancia de declaración)
  3. Haga clic en "Configurar anotaciones ..."
  4. Agregue com.google.google.inject.Inject y javax.inject.Inject

No, parece que la inspección de IDEA no es tan fina. Incluso con los campos inyectados de dependencia basados ​​en anotaciones, la misma advertencia se puede suprimir para los campos anotados con @Inject . Automáticamente, se suprime la advertencia "no usado".

Acabo de intentar ejecutar FindBugs-IDEA contra la clase y no se generaron advertencias o errores.


Para configurar anotaciones en Android Studio 1.1.0 después de inspeccionar su código, haga clic con el botón secundario en Declaración no utilizada -> Editar configuración -> Configurar anotaciones.


Puede usar una anotación para marcarla como un campo inyectado. (similar a cómo trataría a @EJB ). Las inspecciones de IntelliJ (al menos con la versión 10.5) le permiten configurar sus propias anotaciones para marcar los campos como inyectados.

Seleccione Analizar, Inspeccionar código del menú y luego vaya a la inspección de declaración no utilizada y puede configurar una anotación.


Si abre la ventana de sugerencia de acciones (alt + Enter en Mac), debería sugerirle que suprima la advertencia para Inyectar anotación


tal vez la var privada no fue inicializada. No inicié la var en androidStudio, así que muéstrame que el mensaje "nunca se asigna".