- java.lang.Object
-
- java.lang.Enum<ElementType>
-
- java.lang.annotation.ElementType
-
- All Implemented Interfaces:
-
Serializable
,Comparable<ElementType>
public enum ElementType extends Enum<ElementType>
这个枚举类型的常量提供了在Java程序中可能出现注释的句法位置的简单分类。 这些常数用于Target
元注释,以指定写入给定类型注释的合法位置。注释可能出现的句法位置分为声明上下文 ,其中注释适用于声明,并键入上下文 ,其中注释适用于声明和表达式中使用的类型。
常量
ANNOTATION_TYPE
,CONSTRUCTOR
,字段
,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
非空,同时仍然允许其他类的变量是非空或者基于是否在变量的声明中出现@NonNull
否则不为非空。- 从以下版本开始:
- 1.5
- See The Java™ Language Specification:
- 9.6.4.1 @Target,4.1类型和值的种类
-
-
Enum Constant Summary
Enum Constants Enum Constant 描述 ANNOTATION_TYPE
注解类型声明CONSTRUCTOR
构造函数声明字段
字段声明(包括枚举常数)LOCAL_VARIABLE
局部变量声明METHOD
方法声明MODULE
模块声明。PACKAGE
包装声明PARAMETER
正式参数声明TYPE
类,接口(包括注释类型)或枚举声明TYPE_PARAMETER
键入参数声明TYPE_USE
使用类型
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static ElementType
valueOf(String name)
以指定的名称返回此类型的枚举常量。static ElementType[]
values()
按照它们声明的顺序返回一个包含此枚举类型常量的数组。
-
-
-
Enum Constant Detail
-
TYPE
public static final ElementType TYPE
类,接口(包括注释类型)或枚举声明
-
字段
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
- 如果参数为空
-
-