Cosa significano queste righe nel mio progetto?Che cosa sono @SuppressWarnings ("deprecazione") e ("inutilizzato") in Android?
@SuppressWarnings("deprecation")
@SuppressWarnings("unused")
Cosa significano queste righe nel mio progetto?Che cosa sono @SuppressWarnings ("deprecazione") e ("inutilizzato") in Android?
@SuppressWarnings("deprecation")
@SuppressWarnings("unused")
L'annotazione @SuppressWarnings
disabilita alcuni avvisi del compilatore. In questo caso, l'avviso relativo al codice deprecato ("deprecation"
) e alle variabili locali non utilizzate o ai metodi privati non utilizzati ("unused"
). This article explains the possible values.
In Java, @SuppressWarnings
vengono utilizzati per limitare il compilatore per mostrare il messaggio di avviso sullo schermo della console.
es
@SuppressWarnings("unused")
CheckBox transferredField = new CheckBox("is transferred");
se io non uso transferredField
variabile nel mio codice allora il vostro IDE Eclipse mai mostrare l'avvertimento che non si utilizza questa variabile transferredField
nel codice.
il @SuppressWarnings("unused")
e altri che ho provato, ma non funzionano, e io uso sempre il metodo dire Gradle in questo progetto per
lintOptions{
checkReleaseBuilds false
abortOnError false;
disable 'deprecation'
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
Si prega di non disabilitare gli avvisi su tutto il progetto. La disattivazione di un avviso dovrebbe essere portata al livello più specifico possibile, in cui sai esattamente perché è giusto ignorare nel tuo caso. Nascondendoli per l'intero progetto nasconderai anche preoccupazioni legittime che dovresti considerare di cambiare piuttosto che ignorare. –
Ancora una cosa: non solo è possibile aggiungerli in linea, ma anche annotate methods. F.ex.
@Override
@SuppressWarnings("deprecation")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
Tuttavia, si consiglia di utilizzare il più piccolo campo di applicazione possibile
Come una questione di stile, i programmatori devono sempre utilizzare questa annotazione sul l'elemento più profondamente nidificato in cui è efficace. Se vuoi sopprimere un avvertimento in un particolare metodo, dovresti annotare quel metodo piuttosto che la sua classe.
Nice answer @nfechener –