web-dev-qa-db-fra.com

Supprimer l'avertissement d'importation obsolète dans Java

En Java, si vous importez une classe obsolète:

import SomeDeprecatedClass;

Vous obtenez cet avertissement: The type SomeDeprecatedClass is deprecated

Existe-t-il un moyen de supprimer cet avertissement?

95
Ed Mazur

Utilisez cette annotation sur votre classe ou méthode:

@SuppressWarnings( "deprecation" )
120
craigforster

Pour éviter l'avertissement: n'importez pas la classe

tilisez plutôt le nom de classe complet

et l'utiliser dans le moins d'endroits possible.

141

En tant que hack, vous ne pouvez pas faire l'importation et utiliser le nom complet dans le code.

Vous pouvez également essayer javac -Xlint: -deprecation vous ne savez pas si cela pourrait le résoudre.

13
TofuBeer

J'ai résolu ce problème en modifiant l'importation en:

import package.*

puis annoter la méthode qui utilisait les classes obsolètes avec@SuppressWarnings("deprecation")

9
Tim

Supposons que vous remplaciez/implémentiez une interface avec une méthode obsolète (telle que getUnicodeStream (String columnLabel) dans Java.sql.ResultSet), vous ne vous débarrasserez pas des avertissements de dépréciation simplement en utilisant l'annotation @SuppressWarnings ("deprecation") , sauf si vous annotez également la même nouvelle méthode avec l'annotation @Deprecated. Ceci est logique, car sinon vous pourriez "déprécier" une méthode en remplaçant simplement sa description d'interface.

6
Per-Åke Minborg

vous pouvez utiliser:

javac FileName.Java -Xlint: -deprecation

Mais cela vous donnera des avertissements et vous indiquera également la partie du code qui provoque la dépréciation ou utilise l'API obsolète. Vous pouvez maintenant exécuter votre code avec ces avertissements ou apporter les modifications appropriées dans le code.

Dans mon cas, j'utilisais someListItem.addItem("red color") alors que le compilateur voulait que j'utilise someListItem.add("red color");.

2
Amit