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

列挙型クラスElementType

java.lang.Object
java.lang.Enum<ElementType>
java.lang.annotation.ElementType
すべての実装されたインタフェース:
Serializable, Comparable<ElementType>, Constable

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以外であることを示すものとして扱われますが、変数宣言に@NonNullが出現するかどうかに基づいて、他のクラスの変数をnull以外にすることもnull以外にすることもできます。

Java言語仕様を参照してください:
9.6.4.1 @Target
4.1タイプと値の種類
導入されたバージョン:
1.5
  • 列挙型定数の詳細

    • TYPE

      public static final ElementType TYPE
      クラス、インタフェース(注釈インタフェースを含める)、列挙またはレコード宣言
    • 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
    • RECORD_COMPONENT

      public static final ElementType RECORD_COMPONENT
      レコード・コンポーネント
      Java言語仕様を参照してください:
      8.10.3 レコード・メンバー
      9.7.4 注釈が表示される場所
      導入されたバージョン:
      16
  • メソッドの詳細

    • values

      public static ElementType[] values()
      この列挙クラスの定数を含む配列を宣言されている順序で 返します。
      戻り値:
      この列挙クラスの定数を宣言されている順序で含む配列
    • valueOf

      public static ElementType valueOf(String name)
      指定された名前を持つこのクラスのenum定数を返します。 文字列は、このクラスでenum定数を宣言するために使用される識別子と正確に一致する必要があります。 (不適切な空白文字は許可されません。)
      パラメータ:
      name - 返される列挙型定数の名前。
      戻り値:
      指定された名前を持つ列挙型定数
      例外:
      IllegalArgumentException - この列挙型クラスに指定された名前の定数がない場合
      NullPointerException - 引数がnullの場合