Spec-Zone.ru › OpenJDK 25

Интерфейс Annotation

public sealed interface Annotation
Моделирует структуру annotation (JVMS 4.7.16) или часть структуры type_annotation (JVMS 4.7.20). Эта модель описывает интерфейс аннотации и набор пар «элемент — значение».

Эта модель позволяет восстановить аннотацию, если известны расположение моделируемой структуры в файле class и определение интерфейса аннотации.

Два объекта Annotation следует сравнивать с помощью метода equals.

Примечание к API:
В программах на Java расположение моделируемой структуры указывает на элемент исходного кода или тип (JLS 9.7.4), к которому относится восстановленная аннотация, а определение интерфейса аннотации определяет, содержит ли восстановленная аннотация элементы со значениями по умолчанию (JLS 9.6.2) и является ли восстановленная аннотация контейнерной аннотацией для нескольких аннотаций (JLS 9.7.5).
Начиная с версии:
24
См. также:
  • Annotation
  • Аннотации в базовом API рефлексии
  • TypeAnnotation
  • RuntimeVisibleAnnotationsAttribute
  • RuntimeInvisibleAnnotationsAttribute
  • RuntimeVisibleParameterAnnotationsAttribute
  • RuntimeInvisibleParameterAnnotationsAttribute

Краткое описание методов

Модификатор и тип Метод Описание
Utf8Entry className()
Возвращает запись пула констант, содержащую строку дескриптора интерфейса аннотации.
default ClassDesc classSymbol()
Возвращает интерфейс аннотации в виде символьного дескриптора.
List<AnnotationElement> elements()
Возвращает пары «элемент — значение» аннотации.
static Annotation of(Utf8Entry annotationClass, AnnotationElement... elements)
Возвращает аннотацию.
static Annotation of(Utf8Entry annotationClass, List<AnnotationElement> elements)
Возвращает аннотацию.
static Annotation of(ClassDesc annotationClass, AnnotationElement... elements)
Возвращает аннотацию.
static Annotation of(ClassDesc annotationClass, List<AnnotationElement> elements)
Возвращает аннотацию.

Подробное описание методов

className

Utf8Entry className()
Возвращает запись пула констант, содержащую строку дескриптора интерфейса аннотации.
Возвращает:
запись пула констант, содержащую строку дескриптора интерфейса аннотации
См. также:
  • Annotation.annotationType()

classSymbol

default ClassDesc classSymbol()
Возвращает интерфейс аннотации в виде символьного дескриптора.
Возвращает:
интерфейс аннотации в виде символьного дескриптора
См. также:
  • Annotation.annotationType()

elements

List<AnnotationElement> elements()
Возвращает пары «элемент — значение» аннотации.
Возвращает:
пары «элемент — значение» аннотации

of

static Annotation of(Utf8Entry annotationClass, List<AnnotationElement> elements)
Возвращает аннотацию.
Параметры:
annotationClass — запись пула констант, содержащая строку дескриптора интерфейса аннотации
elements — пары «элемент — значение» аннотации
Возвращает:
аннотацию

of

static Annotation of(Utf8Entry annotationClass, AnnotationElement... elements)
Возвращает аннотацию.
Параметры:
annotationClass — запись пула констант, содержащая строку дескриптора интерфейса аннотации
elements — пары «элемент — значение» аннотации
Возвращает:
аннотацию

of

static Annotation of(ClassDesc annotationClass, List<AnnotationElement> elements)
Возвращает аннотацию.
Параметры:
annotationClass — дескриптор интерфейса аннотации
elements — пары «элемент — значение» аннотации
Возвращает:
аннотацию

of

static Annotation of(ClassDesc annotationClass, AnnotationElement... elements)
Возвращает аннотацию.
Параметры:
annotationClass — дескриптор интерфейса аннотации
elements — пары «элемент — значение» аннотации
Возвращает:
аннотацию

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/classfile/Annotation.html

Spec-Zone.ru

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