Spec-Zone.ru › OpenJDK 8

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

  • java.lang.Object
    • java.lang.Enum<ElementType>
      • java.lang.annotation.ElementType
Все реализованные интерфейсы:
Serializable, Comparable<ElementType>

public enum ElementType
extends Enum<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 class C {...} может быть обработан проверяющим типом как указание на то, что все переменные класса C не равны null, при этом по-прежнему позволяя переменным других классов быть равными null или не равными null в зависимости от того, появляется ли @NonNull в объявлении переменной.

С:
1.5

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

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

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

CONSTRUCTOR

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

FIELD

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

LOCAL_VARIABLE

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

METHOD

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

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

Методы

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.

Spec-Zone.ru

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