public enum ElementType extends Enum<ElementType>
java.lang.annotation.Target
元注解来指定它是合法的,写一个给定类型的注释。
注释可能出现的语法位置被拆分为声明上下文,其中注释适用于声明和类型上下文,其中注释适用于声明和表达式中使用的类型。
常数ANNOTATION_TYPE
,CONSTRUCTOR
,FIELD
,LOCAL_VARIABLE
,METHOD
,PACKAGE
,PARAMETER
,TYPE
,和TYPE_PARAMETER
对应于9.6.4.1 JLS的声明上下文。
例如,一个标注的类型是元注释的@Target(ElementType.FIELD)
只能写成一场申报改性剂。
恒TYPE_USE
对应于JLS 4.11 15型环境,以及两声明上下文:类型声明(包括注释类型声明)和类型参数声明。
例如,一个标注的类型是@Target(ElementType.TYPE_USE)
元注释可以写在一个字段的类型(或在外地,如果它是一个嵌套类型,参数化,或数组类型),也可能出现作为改性剂,说,一个类的声明。
的TYPE_USE
常数包含类型声明和类型参数声明为类型检查器使语义注释类型的设计师一个方便。例如,如果注释类型NonNull
元注释的@Target(ElementType.TYPE_USE)
,然后@NonNull
class C {...}
可以通过类型检查作为说明类C
所有变量都是非空的,同时还允许其他类变量非零或非零的基础上是否@NonNull
出现在变量的声明。
Enum Constant and Description |
---|
ANNOTATION_TYPE
注释类型声明
|
CONSTRUCTOR
构造函数的声明
|
FIELD
现场申报(包括枚举常量)
|
LOCAL_VARIABLE
局部变量声明
|
METHOD
方法的声明
|
PACKAGE
包装声明
|
PARAMETER
形式参数声明
|
TYPE
类、接口(包括注释类型),或枚举声明
|
TYPE_PARAMETER
类型参数声明
|
TYPE_USE
一种类型的使用
|
Modifier and Type | Method and Description |
---|---|
static ElementType |
valueOf(String name)
返回此类型具有指定名称的枚举常量。
|
static ElementType[] |
values()
返回一个数组包含该枚举类型的常量,它们的顺序声明。
|
public static final ElementType TYPE
public static final ElementType FIELD
public static final ElementType METHOD
public static final ElementType PARAMETER
public static final ElementType CONSTRUCTOR
public static final ElementType LOCAL_VARIABLE
public static final ElementType ANNOTATION_TYPE
public static final ElementType PACKAGE
public static final ElementType TYPE_PARAMETER
public static final ElementType TYPE_USE
public static ElementType[] values()
(定义:定义为C。values()) 系统,println(C);
public static ElementType valueOf(String name)
name
-定要返回的枚举的名称。
IllegalArgumentException
-如果这个枚举类型,也没有固定的具有指定名称
NullPointerException
-如果参数为空
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.