Тип аннотации 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, и наоборот.

С:
1.5

Дополнительные элементы

Модификатор и тип Дополнительный элемент Описание
boolean forRemoval

Указывает, подлежит ли аннотированный элемент удалению в будущей версии.

String since

Возвращает версию, в которой аннотированный элемент стал устаревшим.

Элементы

since

String since

Возвращает версию, в которой аннотированный элемент стал устаревшим. Строка версии имеет тот же формат и пространство имён, что и значение тега javadoc @since. Значение по умолчанию — пустая строка.

Возвращает:
строку версии
С:
9
Значение по умолчанию:
""

forRemoval

boolean forRemoval

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

Возвращает:
подлежит ли элемент удалению
С:
9
Значение по умолчанию:
false

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

Spec-Zone .ru
спецификации, руководства, описания, API