Spec-Zone.ru › OpenJDK 27

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

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 — пары «элемент — значение» аннотации
Возвращает:
аннотацию
Вызывает исключение:
IllegalArgumentException — если количество пар превышает ограничение u2

of

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

of

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

of

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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