Подавить устаревшее предупреждение об импорте в Java - PullRequest
90 голосов
/ 07 декабря 2009

В Java, если вы импортируете устаревший класс:

import SomeDeprecatedClass;

Вы получаете это предупреждение: The type SomeDeprecatedClass is deprecated

Есть ли способ подавить это предупреждение?

Ответы [ 6 ]

135 голосов
/ 03 января 2014

Чтобы избежать предупреждения: делать не импортировать класс

вместо этого используйте полное имя класса

и используйте его в как можно меньшем количестве мест.

115 голосов
/ 07 декабря 2009

Используйте эту аннотацию для вашего класса или метода:

@SuppressWarnings( "deprecation" )
12 голосов
/ 07 декабря 2009

В качестве хака вы не можете выполнить импорт и использовать полное имя внутри кода.

Вы также можете попробовать javac -Xlint: -deprecation, не уверен, что это решит проблему

9 голосов
/ 29 марта 2012

Я решил это, изменив импорт на:

import package.*

затем аннотируем метод, который использовал устаревшие классы, с помощью @SuppressWarnings("deprecation")

5 голосов
/ 20 октября 2011

Предположим, что вы переопределяете / реализуете интерфейс с устаревшим методом (таким как getUnicodeStream (String columnLabel) в java.sql.ResultSet), тогда вы не избавитесь от предупреждений об устаревании, просто используя аннотацию @SuppressWarnings (" deprecation "), если только вы не аннотируете тот же новый метод аннотацией @Deprecated. Это логично, потому что в противном случае вы могли бы «отменить определение» метода, просто переопределив его описание интерфейса.

2 голосов
/ 08 марта 2014

вы можете использовать:

javac FileName.java -Xlint: -deprecation

Но тогда это даст вам предупреждения, а также сообщит вам ту часть кода, которая вызывает устаревание или использует устаревший API. Теперь вы можете запустить свой код с этими предупреждениями или внести соответствующие изменения в код.

В моем случае я использовал someListItem.addItem("red color"), тогда как компилятор хотел, чтобы я использовал someListItem.add("red color");.

...