Co oznaczają te linie w moim projekcie?Co to jest @SuppressWarnings ("wycofanie") i ("nieużywane") w systemie Android?
@SuppressWarnings("deprecation")
@SuppressWarnings("unused")
Co oznaczają te linie w moim projekcie?Co to jest @SuppressWarnings ("wycofanie") i ("nieużywane") w systemie Android?
@SuppressWarnings("deprecation")
@SuppressWarnings("unused")
@SuppressWarnings
adnotacja wyłącza niektóre ostrzeżenia kompilatora. W tym przypadku ostrzeżenia o nieaktualnych kod ("deprecation"
) i nieużywanych zmiennych lokalnych lub niewykorzystanych metod prywatnych ("unused"
). This article explains the possible values.
W języku Java, @SuppressWarnings
służą do ograniczenia kompilatora do wyświetlania określonego ostrzeżenia na ekranie konsoli.
Np
@SuppressWarnings("unused")
CheckBox transferredField = new CheckBox("is transferred");
jeśli nie używam transferredField
zmienną w moim kodu wówczas Eclipse IDE nie pokazywać ostrzeżenia, że nie są przy użyciu tej zmiennej transferredField
w kodzie.
@SuppressWarnings("unused")
i inni próbowałem, ale to nie działa, a ja zawsze używać metody powiedzieć Gradle w tym projekcie do
lintOptions{
checkReleaseBuilds false
abortOnError false;
disable 'deprecation'
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
Proszę nie wyłączać ostrzeżenia w całym projekcie. Wyłączenie ostrzeżenia powinno być ograniczone do najbardziej szczegółowego poziomu, na którym wiesz, dlaczego w twoim przypadku można zignorować. Ukrywanie ich dla całego projektu ukryje również uzasadnione obawy, które powinieneś rozważyć, zamiast je ignorować. –
jeszcze jedno: można nie tylko dodać je inline, ale także annotate methods. F.ex.
@Override
@SuppressWarnings("deprecation")
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
Jednak zaleca się, aby skorzystać z najmniejszą możliwą
zakresu Prawdę stylu, programiści powinni zawsze używać tej adnotacji na najgłębiej zagnieżdżonego elementu, w którym jest ona skuteczna. Jeśli chcesz pominąć ostrzeżenie w określonej metodzie, powinieneś opisać tę metodę, a nie jej klasę.
Dobra odpowiedź @nfechener –