模块  java.base
软件包  java.lang.annotation

Enum ElementType

  • 实现的所有接口
    SerializableComparable<ElementType>

    public enum ElementType
    extends Enum<ElementType>
    此枚举类型的常量提供了注释可能出现在Java程序中的语法位置的简单分类。 这些常量用于Target元注释,以指定写入给定类型注释的合法位置。

    注释可能出现的语法位置被拆分为声明上下文 ,其中注释适用于声明, 类型上下文 ,其中注释适用于声明和表达式中使用的类型。

    常量ANNOTATION_TYPE构造器字段LOCAL_VARIABLEMETHODPACKAGE模块PARAMETERTYPETYPE_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 Detail

      • TYPE

        public static final ElementType TYPE
        类,接口(包括注释类型)或枚举声明
      • 字段

        public static final ElementType FIELD
        字段声明(包括枚举常量)
      • METHOD

        public static final ElementType METHOD
        方法声明
      • PARAMETER

        public static final ElementType PARAMETER
        正式参数声明
      • 构造器

        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
      • 模块

        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