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