Module  java.base
软件包  java.lang.annotation

Enum ElementType

  • All Implemented Interfaces:
    SerializableComparable<ElementType>


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

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

    常量ANNOTATION_TYPECONSTRUCTOR字段LOCAL_VARIABLEMETHODPACKAGEMODULEPARAMETERTYPE ,并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 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 - 如果参数为空