モジュール java.base
パッケージ java.lang.annotation

列挙型ElementType

  • すべての実装されたインタフェース:
    Serializable, Comparable<ElementType>

    public enum ElementType
    extends Enum<ElementType>
    この列挙型の定数は、Javaプログラム内で注釈が表示される可能性のある構文上の場所を簡単に分類します。 これらの定数は、Targetメタ注釈で使用され、指定された型の注釈をどこに書き込むのが適切かを指定します。

    注釈が表示される可能性のある構文上の場所は、注釈が宣言に適用される宣言コンテキストと、注釈が宣言および式の中で使用される型に適用される型コンテキストに分けられます。

    ANNOTATION_TYPECONSTRUCTORFIELDLOCAL_VARIABLEMETHODPACKAGEMODULEPARAMETERTYPE、およびTYPE_PARAMETERの定数は、JLS 9.6.4.1の宣言コンテキストに対応しています。

    たとえば、型に@Target(ElementType.FIELD)のメタ注釈が付けられた注釈は、フィールド宣言の修飾子としてのみ記述できます。

    定数TYPE_USEは、JLS 4.11の型コンテキストと、2つの宣言コンテキスト: 型(注釈型宣言を含む)と型パラメータ宣言。

    たとえば、型に@Target(ElementType.TYPE_USE)のメタ注釈が付けられた注釈は、フィールドの型(ネストされた型、パラメータ化された型、または配列型である場合はそのフィールドの型の内部)に記述でき、クラス宣言などの修飾子として指定することもできます。

    TYPE_USE定数には、注釈型にセマンティックスを提供する型チェッカーの設計者の便宜を図って、型宣言および型パラメータ宣言が含まれています。 たとえば、注釈型NonNull@Target(ElementType.TYPE_USE)のメタ注釈が付けられている場合、型チェッカーによる@NonNull class C {...}の処理では、クラスCの変数はすべてnull以外であることを示しますが、他のクラスの変数がnull以外であるか否かは引き続き、変数の宣言に@NonNullが表示されているかどうかに基づいて決められます。

    導入されたバージョン:
    1.5
    Java™言語仕様を参照します:
    9.6.4.1 @Target、4.1 型と値の種類
    • 列挙型定数の詳細

      • TYPE

        public static final ElementType TYPE
        クラス、インタフェース(注釈型を含む)、またはenum宣言です。
      • FIELD

        public static final ElementType FIELD
        フィールド宣言(enum定数を含む)です。
      • 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 - 引数がnullの場合