Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
108 of 1172 menu
◀ ▶

Аннотация Deprecated

Аннотация Deprecated помечает элемент программы как устаревший. Это может быть класс, метод, поле, конструктор или другой элемент. Когда программист использует помеченный элемент, компилятор выдаёт предупреждение. В первом параметре через атрибут since можно указать версию, с которой элемент признан устаревшим, во втором параметре через атрибут forRemoval можно указать, будет ли элемент удалён в будущих версиях. Сама аннотация не удаляет элемент и не мешает его вызову.

Синтаксис

@Deprecated @Deprecated(since = "version") @Deprecated(since = "version", forRemoval = true)

Пример

Давайте пометим метод как устаревший и вызовем его:

public class Main { @Deprecated public static void oldMethod() { System.out.println("old method"); } public static void main(String[] args) { oldMethod(); } }

При компиляции компилятор выдаст предупреждение об использовании устаревшего метода. Результат выполнения кода:

"old method"

Пример

Давайте укажем версию, с которой метод считается устаревшим, через атрибут since:

public class Main { @Deprecated(since = "1.5") public static int oldSum(int a, int b) { return a + b; } public static void main(String[] args) { int res = oldSum(1, 2); System.out.println(res); } }

Результат выполнения кода:

3

Пример

Давайте укажем, что метод будет удалён в будущем, через атрибут forRemoval:

public class Main { @Deprecated(since = "1.8", forRemoval = true) public static String oldText() { return "abcde"; } public static void main(String[] args) { String res = oldText(); System.out.println(res); } }

Результат выполнения кода:

"abcde"

Пример

Давайте подавим предупреждение об устаревшем методе с помощью аннотации SuppressWarnings:

public class Main { @Deprecated public static void oldMethod() { System.out.println("old method"); } @SuppressWarnings("deprecation") public static void main(String[] args) { oldMethod(); } }

В этом случае предупреждение при компиляции выведено не будет. Результат выполнения кода:

"old method"

Смотрите также

  • аннотация Annotation,
    которая является базовой для всех аннотаций
  • аннотация Override,
    которая проверяет переопределение метода
  • аннотация SuppressWarnings,
    которая подавляет предупреждения компилятора
  • атрибут since,
    который указывает версию устаревания
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить