Тип элемента Enum

Все реализованные интерфейсы:
Serializable, Comparable<ElementType>
public enum ElementType
extends Enum<ElementType>

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

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

Константы ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE и TYPE_PARAMETER соответствуют контекстам объявления в JLS 9.6.4.1.

Например, аннотация, тип которой помечен мета-аннотацией @Target(ElementType.FIELD), может быть размещена только как модификатор объявления поля.

Константа TYPE_USE соответствует контекстам типов в JLS 4.11, а также двум контекстам объявления: объявления типов (включая объявления типов аннотаций) и объявления параметров типа.

Например, аннотация, тип которой помечен мета-аннотацией @Target(ElementType.TYPE_USE), может быть размещена на типе поля (или внутри типа поля, если это вложенный, параметризованный или массивно-типизированный тип), а также может появиться как модификатор, скажем, объявления класса.

Константа TYPE_USE включает объявления типов и объявления параметров типов для удобства разработчиков проверочных средств типов, которые придают семантику типам аннотаций. Например, если тип аннотации NonNull помечен мета-аннотацией @Target(ElementType.TYPE_USE), тогда @NonNull class C {...} может быть обработана проверочным средством типов как указание на то, что все переменные класса C не равны null, при этом всё ещё разрешая переменным других классов быть равными null или не равными null в зависимости от того, появляется ли @NonNull при объявлении переменной.

С тех пор как:
1.5

Константы перечисления

Константа перечисления Описание
ANNOTATION_TYPE

Объявление типа аннотации

CONSTRUCTOR

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

FIELD

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

LOCAL_VARIABLE

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

METHOD

Объявление метода

MODULE

Объявление модуля.

PACKAGE

Объявление пакета

PARAMETER

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

TYPE

Объявление класса, интерфейса (включая тип аннотации) или перечисления

TYPE_PARAMETER

Объявление параметра типа

TYPE_USE

Использование типа

Методы

Модификатор и тип Метод Описание
static ElementType valueOf​(String name)

Возвращает константу перечисления этого типа с заданным именем.

static ElementType[] values()

Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления.

Методы, объявленные в классе java.lang.Enum

clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

Методы, объявленные в классе java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

Константы перечисления

TYPE

public static final ElementType TYPE

Объявление класса, интерфейса (включая тип аннотации) или перечисления

FIELD

public static final ElementType FIELD

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

METHOD

public static final ElementType METHOD

Объявление метода

PARAMETER

public static final ElementType PARAMETER

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

CONSTRUCTOR

public static final ElementType CONSTRUCTOR

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

LOCAL_VARIABLE

public static final ElementType LOCAL_VARIABLE

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

ANNOTATION_TYPE

public static final ElementType ANNOTATION_TYPE

Объявление типа аннотации

PACKAGE

public static final ElementType PACKAGE

Объявление пакета

TYPE_PARAMETER

public static final ElementType TYPE_PARAMETER

Объявление параметра типа

С тех пор как:
1.8

TYPE_USE

public static final ElementType TYPE_USE

Использование типа

С тех пор как:
1.8

MODULE

public static final ElementType MODULE

Объявление модуля.

С тех пор как:
9

Методы

values

public static ElementType[] values()

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

for (ElementType c : ElementType.values())
    System.out.println(c);

Возвращает:
массив, содержащий константы этого типа перечисления в порядке их объявления

valueOf

public static ElementType valueOf(String name)

Возвращает константу перечисления этого типа с заданным именем. Строка должна точно соответствовать идентификатору, используемому для объявления константы перечисления в этом типе. (Дополнительные пробелы не допускаются.)

Параметры:
name - имя возвращаемой константы перечисления.
Возвращает:
константу перечисления с заданным именем
Исключения:
IllegalArgumentException - если в этом типе перечисления нет константы с заданным именем
NullPointerException - если аргумент равен null

© 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/annotation/ElementType.html

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