1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/Hu-Lyndon-streamsets-start-asset

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
ElementType.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 09.06.2025 14:20 9a477ac

ElementType

Константы этого перечислимого типа предоставляют простое классификационное разделение синтаксических мест, где аннотации могут появляться в Java-программе. Эти константы используются в мета-аннотациях java.lang.annotation.Target для указания мест, где допустимо записывать аннотации данного типа.

Синтаксические места, где могут появляться аннотации, разделяются на контексты объявления, где аннотации применяются к объявлениям, и контексты типов, где аннотации применяются к типам, используемым в объявлениях и выражениях.

Константы ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE и TYPE_PARAMETER соответствуют контекстам объявления в JLS 9.6.4.1. Например, аннотация, тип которой мета-аннотирован с @Target(ElementType.FIELD), может быть записана только как модификатор для объявления поля.Константа TYPE_USE соответствует 15 контекстам типов в JLS 4.11, а также двум контекстам объявления: объявления типов (включая объявления типов аннотаций) и объявления параметров типов. Например, аннотация, тип которой мета-аннотирован с @Target(ElementType.TYPE_USE), может быть записана на типе поля (или внутри типа поля, если это вложенный, параметризованный или массивный тип), а также может появляться как модификатор для объявления класса. Константа TYPE_USE включает в себя объявления типов и параметров типов для удобства дизайнеров типовых проверяющих, которые предоставляют семантику для аннотированных типов. Например, если аннотированный тип NonNull мета-аннотирован с помощью @Target(ElementType.TYPE_USE), то @NonNull класс C {...} может быть обработан типовым проверяющим как указание того, что все переменные класса C являются непустыми, в то же время позволяя переменным других классов быть непустыми или пустыми в зависимости от того, появляется ли @NonNull в объявлении переменной.```java public enum ElementType { /** Объявление класса, интерфейса (включая аннотированный тип) или перечисления */ TYPE,

/** Объявление поля (включая константы перечисления) */
FIELD,

/** Объявление метода */
METHOD,

/** Объявление формального параметра */
PARAMETER,

/** Объявление конструктора */
CONSTRUCTOR,

/** Объявление локальной переменной */
LOCAL_VARIABLE,

/** Объявление аннотированного типа */
ANNOTATION_TYPE,

/** Объявление пакета */
PACKAGE,

/**
 * Объявление параметра типа
 *
 * @since 1.8
 */
TYPE_PARAMETER,

/**
 * Использование типа
 *
 * @since 1.8
 */
TYPE_USE

}


Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/Hu-Lyndon-streamsets-start-asset.git
git@api.gitlife.ru:oschina-mirror/Hu-Lyndon-streamsets-start-asset.git
oschina-mirror
Hu-Lyndon-streamsets-start-asset
Hu-Lyndon-streamsets-start-asset
master