- すべての実装されたインタフェース:
Serializable
,Comparable<ElementType>
,Constable
Target
メタ注釈で使用され、指定された型の注釈をどこに書き込むのが適切かを指定します。
注釈が表示される構文上のロケーションは、注釈が宣言に適用される「宣言コンテキスト」と、注釈が宣言および式で使用される型に適用される「タイプ・コンテキスト」に分割されます。
ANNOTATION_TYPE
、CONSTRUCTOR
、FIELD
、LOCAL_VARIABLE
、METHOD
、PACKAGE
、MODULE
、PARAMETER
、TYPE
、および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
-
ネストされたクラスのサマリー
クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース
Enum.EnumDesc<E extends Enum<E>>
-
列挙型定数のサマリー
列挙型定数説明注釈インタフェース宣言(以前の注釈型。)コンストラクタ宣言です。フィールド宣言(enum定数を含む)です。ローカル変数宣言です。メソッド宣言です。モジュール宣言。パッケージ宣言です。仮パラメータ宣言ですレコード・コンポーネントクラス、インタフェース(注釈インタフェースを含める)、列挙またはレコード宣言型パラメータ宣言です型の使用 -
メソッドのサマリー
修飾子と型メソッド説明static ElementType
指定された名前を持つこのクラスのenum定数を返します。static ElementType[]
values()
この列挙クラスの定数を含む配列を宣言されている順序で 返します。
-
列挙型定数の詳細
-
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定数を宣言するために使用される識別子とexactlyと一致する必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
name
- 返される列挙型定数の名前。- 戻り値:
- 指定された名前を持つ列挙型定数
- 例外:
IllegalArgumentException
- この列挙型クラスに指定された名前の定数がない場合NullPointerException
- 引数がnullの場合
-