РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
108 of 1163 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить