Этой аннотацией помечают код, который устарел и не должен быть более использован. Классы, которые используют или переопределяют
@Deprecated элементы, будут компилироваться с warning-ом.
Имеет retention
RUNTIME, что значит, что фреймворки могут динамически проверять наличие аннотации на элементе с помощью Reflection API.
Начиная с Java 9 у этой аннотации появились опциональные параметры – строка
since и булево значение
forRemoval. В
since указывается версия
вашего приложения, начиная с которой элемент считается устаревшим. Значение
true в
forRemoval предупреждает, что со следующей
мажорной версии этот элемент будет удален. Такое нововведение связано с
изменением политики устаревания – с Java 9 и устаревшие элементы самой JDK тоже могут удаляться в будущих версиях.
Обычно, когда элемент помечают устаревшим, причины устаревания и дальнейшие рекомендации указывают в его Javadoc-документации под тегом
@deprecated.