Spec-Zone.ru › OpenJDK 25

Интерфейс аннотации Deprecated

@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
Возвращает версию, в которой аннотированный элемент был объявлен устаревшим. Строка версии имеет тот же формат и пространство имён, что и значение тега Javadoc @since. Значение по умолчанию — пустая строка.
Возвращает:
строку версии
С версии:
9
По умолчанию:
""

forRemoval

boolean forRemoval
Указывает, подлежит ли аннотированный элемент удалению в будущей версии. Значение по умолчанию — false.
Возвращает:
подлежит ли элемент удалению
С версии:
9
По умолчанию:
false

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая общие сведения, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.base/java/lang/Deprecated.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API