Sopprimere avvertimento importazione deprecato in Java
-
13-09-2019 - |
Domanda
In Java, se si importa una classe deprecato:
import SomeDeprecatedClass;
Si ottiene questo avvertimento: The type SomeDeprecatedClass is deprecated
C'è un modo per sopprimere questo avvertimento?
Soluzione
Con questa annotazione sulla vostra classe o un metodo:
@SuppressWarnings( "deprecation" )
Altri suggerimenti
Per evitare l'avvertimento: fare non importare la classe
anziché utilizzare il nome completo della classe
e utilizzarlo nel minor numero di posti possibile.
Come un hack non si può fare l'importazione e utilizzare il nome completo all'interno del codice.
Si potrebbe anche provare javac -Xlint: -deprecation non so se questo sarebbe affrontare il problema
.Ho risolto questo cambiando l'importazione di:
import package.*
quindi annotando il metodo che utilizza le classi obsoleti with@SuppressWarnings("deprecation")
Si supponga che si sta sovrascrivere / implementazione di un'interfaccia con un metodo deprecato (come ad esempio il getUnicodeStream (String columnLabel) in java.sql.ResultSet) allora non sarà sbarazzarsi di warning di deprecazione semplicemente utilizzando i @SuppressWarnings di annotazione ( " deprecazione"), a meno che anche annotare lo stesso nuovo metodo con l'annotazione @deprecated. Questo è logico, perché altrimenti si potrebbe "undeprecate" un metodo semplicemente sovrascrivendo la sua descrizione dell'interfaccia.
è possibile utilizzare:
javac FileName.java -Xlint: -deprecation
Ma allora questo vi darà avvertimenti e anche dirvi la parte del codice che sta causando deprecazione o utilizzando API deprecato. Ora, o è possibile eseguire il codice con questi avvertimenti o apportare modifiche appropriate nel codice.
Nel mio caso ho usato someListItem.addItem("red color")
mentre il compilatore mi voleva usare someListItem.add("red color");
.