Тип элемента 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.