列挙型クラス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
  • ネストされたクラスのサマリー

    Enumクラスで宣言されたネストされたクラス/インタフェース

    Enum.EnumDesc<E>
    修飾子と型
    クラス
    説明
    static final class 
    Enum.EnumDesc<E extends Enum<E>>
    enum定数の「名目記述子」
  • 列挙型定数のサマリー

    列挙型定数
    列挙型定数
    説明
    注釈インタフェース宣言(以前の注釈型。)
    コンストラクタ宣言です。
    フィールド宣言(enum定数を含む)です。
    ローカル変数宣言です。
    メソッド宣言です。
    モジュール宣言。
    パッケージ宣言です。
    仮パラメータ宣言です
    レコード・コンポーネント
    クラス、インタフェース(注釈インタフェースを含める)、列挙またはレコード宣言
    型パラメータ宣言です
    型の使用
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定された名前を持つこのクラスのenum定数を返します。
    static ElementType[]
    この列挙クラスの定数を含む配列を宣言されている順序で 返します。

    Enumクラスで宣言されたメソッド

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
    修飾子と型
    メソッド
    説明
    protected final Object
    CloneNotSupportedExceptionをスローします。
    final int
    このenumと指定されたオブジェクトの順序を比較します。
    このインスタンスの列挙型記述子EnumDescを返します(作成可能な場合)。作成できない場合は空のOptionalを返します。
    final boolean
    equals(Object other)
    指定されたオブジェクトがこのenum定数と同じ場合は、trueを返します。
    protected final void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は削除のために非推奨になりました。
    このenum定数のenum型に対応するClassオブジェクトを返します。
    final int
    このenum定数のハッシュ・コードを返します。
    final String
    enum宣言で宣言されているとおりのenum定数の名前を返します。
    final int
    列挙定数の序数(列挙宣言での位置。初期定数はゼロの序数に割り当てられる)を返します。
    宣言に含まれるとおりのenum定数の名前を返します。
    static <T extends Enum<T>>
    T
    valueOf(Class<T> enumClass, String name)
    指定された名前の指定されたenumクラスのenum定数を返します。

    クラスオブジェクトで宣言されたメソッド

    getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • 列挙型定数の詳細

    • 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の場合