Spec-Zone.ru › OpenJDK 24

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

@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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/Deprecated.html

Spec-Zone.ru

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