Spec-Zone.ru › OpenJDK 17

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

@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, 2021, 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/17/docs/api/java.base/java/lang/Deprecated.html

Spec-Zone.ru

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