Интерфейс аннотации устарел
@Documented @Retention(RUNTIME) @Target({CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,MODULE,PARAMETER,TYPE}) public @interface Deprecated @Deprecated, не рекомендуется к использованию программистами. Элемент может быть устаревшим по нескольким причинам, например, его использование, вероятно, приведёт к ошибкам; он может быть изменён несовместимо или удалён в будущей версии; он был заменён более новой, как правило, предпочтительной альтернативой; или он устарел. Компиляторы выдают предупреждения, когда устаревший программный элемент используется или переопределяется в коде, не являющемся устаревшим. Использование аннотации @Deprecated при объявлении локальной переменной, параметра или объявления пакета не влияет на предупреждения, выдаваемые компилятором.
Когда модуль устарел, использование этого модуля в
requires, но не в exports или opens разделах, приводит к выдаче предупреждения. Устаревание модуля не приводит к выдаче предупреждений при использовании типов внутри модуля.
Этот тип аннотации имеет элемент со строковым значением since. Значение этого элемента указывает версию, в которой помеченный программный элемент был впервые устаревшим.
Этот тип аннотации имеет элемент с логическим значением forRemoval. Значение true указывает на намерение удалить помеченный программный элемент в будущей версии. Значение false указывает на то, что использование помеченного программного элемента не рекомендуется, но на момент аннотации программного элемента не было конкретного намерения его удалить.
- Примечание API:
- Сильно рекомендуется объяснять причину устаревания программного элемента в документации, используя тег javadoc
@deprecated. Документация также должна предлагать и ссылаться на рекомендуемую замену API, если это применимо. Замена API часто имеет слегка отличающиеся семантику, поэтому такие вопросы также следует обсудить.Рекомендуется предоставлять значение
sinceсо всеми вновь аннотированными программными элементами. Обратите внимание, чтоsinceне может быть обязательным, так как существует много существующих аннотаций, которым не хватает этого значения элемента.Нет определённого порядка элементов аннотаций. В качестве стиля, элемент
sinceдолжен быть помещён первым.Аннотация
@Deprecatedдолжна всегда присутствовать, если присутствует тег javadoc@deprecated, и наоборот. - См. Спецификацию языка Java:
- 9.6.4.6 @Deprecated
- С:
- 1.5
Краткое описание необязательных элементов
| Модификатор и тип | Необязательный элемент | Описание |
|---|---|---|
boolean |
forRemoval |
Указывает, подлежит ли аннотированный элемент удалению в будущей версии. |
String |
since |
Возвращает версию, в которой аннотированный элемент стал устаревшим. |
Подробное описание элементов
since
String since
@since. Значение по умолчанию — пустая строка.- Возвращает:
- строку версии
- С:
- 9
- По умолчанию:
""
forRemoval
boolean forRemoval
false. - Возвращает:
- подлежит ли элемент удалению
- С:
- 9
- По умолчанию:
false
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Deprecated.html