2011-09-13 10 views

Respuesta

92

El @SuppressWarnings anotación desactiva ciertas advertencias del compilador. En este caso, la advertencia sobre el código obsoleto ("deprecation") y las variables locales no utilizados o métodos privados no utilizados ("unused"). This article explains the possible values.

+0

Buena respuesta @nfechener –

3

En Java, @SuppressWarnings se usan para restringir el compilador para que muestre cierta advertencia en la pantalla de la consola.

por ejemplo

@SuppressWarnings("unused") 
CheckBox transferredField = new CheckBox("is transferred"); 

si yo no uso transferredField variable en mi código a continuación, el IDE Eclipse nunca se muestra la advertencia de que no está utilizando esta variable transferredField en el código.

-3

la @SuppressWarnings("unused") y otros que he intentado, pero no funcionan, y yo siempre uso el método Gradle decir en este proyecto para

lintOptions{ 
     checkReleaseBuilds false 
     abortOnError false; 
     disable 'deprecation' 
    } 

    tasks.withType(JavaCompile) { 
     options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" 
    } 
+0

No desactive la advertencia en todo el proyecto. La desactivación de una advertencia debe tener el alcance al nivel más específico que se pueda, donde usted sepa exactamente por qué está bien ignorarlo en su caso. Ocultarlos para todo el proyecto también ocultará inquietudes legítimas que debería considerar cambiar en lugar de ignorarlas. –

1

Una cosa más: no sólo se puede añadirlos en línea, pero también annotate methods. F.ex.

@Override 
@SuppressWarnings("deprecation") 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.preferences); 
} 

Sin embargo, se recomienda utilizar el ámbito más pequeño posible

Como una cuestión de estilo, los programadores deben utilizar siempre esta anotación en el elemento más profundamente anidado en el que es eficaz. Si desea suprimir una advertencia en un método particular, debe anotar ese método en lugar de su clase.

Cuestiones relacionadas