- すべての実装されたインタフェース:
Serializable
,Comparable<ElementType>
,Constable
public enum ElementType extends Enum<ElementType>
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以外であることを示しますが、他のクラスの変数がnull以外であるか否かは引き続き、変数の宣言に@NonNull
が表示されているかどうかに基づいて決められます。
- Java言語仕様を参照してください:
-
9.6.4.1 @Target
4.1タイプと値の種類 - 導入されたバージョン:
- 1.5
-
ネストされたクラスのサマリー
クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース
Enum.EnumDesc<E extends Enum<E>>
-
列挙型定数のサマリー
列挙型定数 列挙型定数 説明 ANNOTATION_TYPE
注釈型宣言です。CONSTRUCTOR
コンストラクタ宣言です。FIELD
フィールド宣言(enum定数を含む)です。LOCAL_VARIABLE
ローカル変数宣言です。METHOD
メソッド宣言です。MODULE
モジュール宣言。PACKAGE
パッケージ宣言です。PARAMETER
仮パラメータ宣言ですRECORD_COMPONENT
レコードに関連付けられ、Java言語のプレビュー機能。
レコード・コンポーネントTYPE
クラス、インタフェース(注釈型の表示)、列挙またはレコード宣言TYPE_PARAMETER
型パラメータ宣言ですTYPE_USE
型の使用 -
メソッドのサマリー
修飾子と型 メソッド 説明 static ElementType
valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。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言語のプレビュー機能であるrecordsに関連付けられています。 プログラムは、プレビュー機能が有効な場合にのみ、この定数を使用できます。 プレビュー機能は、将来のリリースで削除されるか、Java言語の永続機能にアップグレードされる可能性があります。
レコード・コンポーネント- Java言語仕様を参照してください:
-
8.10.3 レコード・メンバー
9.7.4 注釈が表示される場所 - 導入されたバージョン:
- 14
-
-
メソッドの詳細
-
values
public static ElementType[] values()この列挙型の定数を含む配列を、宣言されている順序で返します。- 戻り値:
- この列挙型の定数を含む配列(宣言されている順序)
-
valueOf
public static ElementType valueOf(String name)指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
name
- 返される列挙型定数の名前。- 戻り値:
- 指定された名前を持つ列挙型定数
- 例外:
IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数がnullの場合
-