In Java, se importi una classe obsoleta:
import SomeDeprecatedClass;
Ricevi questo avviso: The type SomeDeprecatedClass is deprecated
C'è un modo per sopprimere questo avviso?
In Java, se importi una classe obsoleta:
import SomeDeprecatedClass;
Ricevi questo avviso: The type SomeDeprecatedClass is deprecated
C'è un modo per sopprimere questo avviso?
Risposte:
Usa questa annotazione sulla tua classe o metodo:
@SuppressWarnings( "deprecation" )
Per evitare l'avviso: non importare la classe
utilizzare invece il nome completo della classe
e utilizzalo nel minor numero di posizioni possibile.
@SuppressWarnings
a livello di classe non copre le importazioni
Ho risolto questo problema modificando l'importazione in:
import package.*
quindi annotare il metodo che utilizzava le classi deprecate con@SuppressWarnings("deprecation")
Supponiamo che tu stia sovrascrivendo / implementando un'interfaccia con un metodo deprecato (come getUnicodeStream (String columnLabel) in java.sql.ResultSet), quindi non ti libererai degli avvisi di deprecazione semplicemente utilizzando l'annotazione @SuppressWarnings ("deprecation") , a meno che non si annoti anche lo stesso nuovo metodo con l'annotazione @Deprecated. Questo è logico, perché altrimenti potresti "annullare la defecazione" di un metodo sovrascrivendo la sua descrizione dell'interfaccia.
Puoi usare:
javac FileName.java -Xlint: -deprecation
Ma poi questo ti darà avvisi e ti dirà anche la parte del codice che sta causando la deprecazione o che utilizza API deprecate. Ora puoi eseguire il codice con questi avvisi o apportare le modifiche appropriate al codice.
Nel mio caso stavo usando someListItem.addItem("red color")
mentre il compilatore voleva che usassi someListItem.add("red color");
.