モジュール 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以外であることを示しますが、他のクラスの変数がnull以外であるか否かは引き続き、変数の宣言に@NonNullが表示されているかどうかに基づいて決められます。

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

  • メソッドの詳細

    • values

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

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