W Javie, jeśli importujesz przestarzałą klasę:
import SomeDeprecatedClass;
Otrzymujesz to ostrzeżenie: The type SomeDeprecatedClass is deprecated
Czy istnieje sposób na zniesienie tego ostrzeżenia?
java
import
deprecated
suppress-warnings
Ed Mazur
źródło
źródło
Odpowiedzi:
Użyj tej adnotacji w swojej klasie lub metodzie:
źródło
Aby uniknąć ostrzeżenia: nie importuj klasy
zamiast tego użyj w pełni kwalifikowanej nazwy klasy
i używaj go w jak najmniejszej liczbie lokalizacji.
źródło
@SuppressWarnings
na poziomie zajęć nie obejmuje importuJako hack nie możesz importować i używać w pełni kwalifikowanej nazwy w kodzie.
Możesz także spróbować javac -Xlint: -deprecation, nie jesteś pewien, czy to rozwiąże ten problem.
źródło
Rozwiązałem to, zmieniając import na:
następnie dodając adnotacje do metody, która używała przestarzałych klas
@SuppressWarnings("deprecation")
źródło
Załóżmy, że zastępujesz / implementujesz interfejs za pomocą przestarzałej metody (takiej jak getUnicodeStream (String columnLabel) w java.sql.ResultSet), a następnie nie pozbędziesz się ostrzeżeń o wycofaniu, używając tylko adnotacji @SuppressWarnings („deprecation”) , chyba że dodasz również adnotację do tej samej nowej metody za pomocą adnotacji @Deprecated. Jest to logiczne, ponieważ w przeciwnym razie można by „cofnąć uznanie” metody, po prostu nadpisując jej opis interfejsu.
źródło
możesz użyć:
Ale wtedy pojawi się ostrzeżenie, a także poinformuje Cię o części kodu, która powoduje wycofanie lub używa wycofanego interfejsu API. Teraz albo możesz uruchomić kod z tymi ostrzeżeniami, albo wprowadzić odpowiednie zmiany w kodzie.
W moim przypadku używałem,
someListItem.addItem("red color")
podczas gdy kompilator chciał, żebym użyłsomeListItem.add("red color");
.źródło