public enum ElementType extends Enum<ElementType>
java.lang.annotation.Targetメタ注釈内で使用されます。
注釈が表示される可能性のある構文上の場所は、注釈が宣言に適用される宣言コンテキストと、注釈が宣言および式の中で使用される型に適用される型コンテキストに分けられます。
定数ANNOTATION_TYPE、CONSTRUCTOR、FIELD、LOCAL_VARIABLE、METHOD、PACKAGE、PARAMETER、TYPE、およびTYPE_PARAMETERは、JLS 9.6.4.1に記載された宣言コンテキストに対応しています。
たとえば、型に@Target(ElementType.FIELD)のメタ注釈が付けられた注釈は、フィールド宣言の修飾子としてのみ記述できます。
定数TYPE_USEはJLS 4.11に記載された15の型コンテキストと、2つの宣言コンテキスト(注釈型宣言を含む型宣言および型パラメータ宣言)に対応しています。
たとえば、型に@Target(ElementType.TYPE_USE)のメタ注釈が付けられた注釈は、フィールドの型(ネストされた型、パラメータ化された型、または配列型である場合はそのフィールドの型の内部)に記述でき、クラス宣言などの修飾子として指定することもできます。
TYPE_USE定数には、注釈型にセマンティックスを提供する型チェッカーの設計者の便宜を図って、型宣言および型パラメータ宣言が含まれています。たとえば、注釈型NonNullに@Target(ElementType.TYPE_USE)のメタ注釈が付けられている場合、型チェッカーによる@NonNull class C {...}の処理では、クラスCの変数はすべてnull以外であることを示しますが、他のクラスの変数がnull以外であるか否かは引き続き、変数の宣言に@NonNullが表示されているかどうかに基づいて決められます。
| 列挙型定数と説明 |
|---|
ANNOTATION_TYPE
注釈型宣言です。
|
CONSTRUCTOR
コンストラクタ宣言です。
|
FIELD
フィールド宣言(enum定数を含む)です。
|
LOCAL_VARIABLE
ローカル変数宣言です。
|
METHOD
メソッド宣言です。
|
PACKAGE
パッケージ宣言です。
|
PARAMETER
仮パラメータ宣言です
|
TYPE
クラス、インタフェース(注釈型を含む)、またはenum宣言です。
|
TYPE_PARAMETER
型パラメータ宣言です
|
TYPE_USE
型の使用
|
| 修飾子と型 | メソッドと説明 |
|---|---|
static ElementType |
valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。
|
static ElementType[] |
values()
この列挙型の定数を含む配列を、宣言されている順序で返します。
|
public static final ElementType TYPE
public static final ElementType FIELD
public static final ElementType METHOD
public static final ElementType PARAMETER
public static final ElementType CONSTRUCTOR
public static final ElementType LOCAL_VARIABLE
public static final ElementType ANNOTATION_TYPE
public static final ElementType PACKAGE
public static final ElementType TYPE_PARAMETER
public static final ElementType TYPE_USE
public static ElementType[] values()
for (ElementType c : ElementType.values()) System.out.println(c);
public static ElementType valueOf(String name)
name - 返される列挙型定数の名前。IllegalArgumentException - 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException - 引数がnullの場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.