public interface Element extends AnnotatedConstruct
要素を比較するには、equals(Object)メソッドを使用してください。 特定の要素が常に同じオブジェクトにより表されるとはかぎりません。
Elementオブジェクトのクラスに基づいて操作を実装するには、visitorを使用するか、getKind()メソッドの結果を使用します。 instanceofを使用することが、このモデル階層内のオブジェクトの有効なクラスを決定するための信頼できる方法であるとはかぎりません。実装によっては、単一のオブジェクトが複数のElementサブインタフェースを実装するようにしている可能性があるためです。
Elements, TypeMirror| 修飾子と型 | メソッド | 説明 |
|---|---|---|
<R,P> R |
accept(ElementVisitor<R,P> v, P p) |
この要素にビジターを適用します。
|
TypeMirror |
asType() |
この要素で定義された型を返します。
|
boolean |
equals(Object obj) |
引数が
thisと同じ要素を表す場合はtrue、それ以外の場合はfalseを返します。 |
<A extends Annotation> |
getAnnotation(Class<A> annotationType) |
存在する場合は、このコンストラクトの指定された型の注釈を返し、そうでない場合は
nullを返します。 |
List<? extends AnnotationMirror> |
getAnnotationMirrors() |
このコンストラクトに直接存在する注釈を返します。
|
List<? extends Element> |
getEnclosedElements() |
大まかに言うとこの要素によって直接囲まれている要素を返します。
|
Element |
getEnclosingElement() |
大まかに言うとこの要素を囲んでいる、もっとも内側の要素を返します。
|
ElementKind |
getKind() |
この要素の
kindを返します。 |
Set<Modifier> |
getModifiers() |
注釈を除く、この要素の修飾子を返します。
|
Name |
getSimpleName() |
この要素の単純(非修飾)名を返します。
|
int |
hashCode() |
Object.hashCodeの一般規約に従います。 |
getAnnotationsByTypeTypeMirror asType()
ジェネリック要素は型を1つだけではなく、ファミリで定義します。 これがジェネリック要素であれば、プロトタイプ的型が返されます。 これは、独自の仮型パラメータに対応する型変数での要素の呼出しです。 たとえば、ジェネリック・クラス要素であるC<N extends Number>については、パラメータ化された型C<N>が返されます。 Typesユーティリティ・インタフェースには、要素で定義された型の全範囲を取得するための汎用的なメソッドがより多く用意されています。
TypesElementKind getKind()
kindを返します。Set<Modifier> getModifiers()
public修飾子とstatic修飾子などの暗黙的な修飾子を含みます。 Name getSimpleName()
java.util.Set<E>の単純名は"Set"です。 この要素が名前を持たないパッケージを表す場合は、空の名前が返されます。 コンストラクタを表す場合は、"<init>"という名前が返されます。 静的な初期化子を表す場合は、"<clinit>"という名前が返されます。 匿名クラスまたはインスタンス初期化子を表す場合は、空の名前が返されます。 Element getEnclosingElement()
nullElements.getPackageOf(javax.lang.model.element.Element)List<? extends Element> getEnclosedElements()
ElementFilterのメソッドを使用すると、特定の種類の要素を分離できます。
PackageElement.getEnclosedElements(), TypeElement.getEnclosedElements(), Elements.getAllMembers(javax.lang.model.element.TypeElement)boolean equals(Object obj)
thisと同じ要素を表す場合はtrue、それ以外の場合はfalseを返します。
要素の識別情報には、関係のない型の存在に関する状態など、要素のメソッドから直接アクセスできない暗黙的な状態が含まれています。 これらのインタフェースの異なる実装で作成された要素オブジェクトは、「同じ」要素がモデル化されていたとしても、同じ動作をするとは想定しないでください。これは、異なるクラス・ローダーを介してロードされた同一のクラス・ファイルでClassオブジェクトが同じにはならないことと同様です。
equals、クラスObjectobj - この要素と比較されるオブジェクトtrueObject.hashCode(), HashMapint hashCode()
Object.hashCodeの一般規約に従います。hashCode、クラスObjectequals(java.lang.Object)List<? extends AnnotationMirror> getAnnotationMirrors()
継承された注釈を取得するには、getAllAnnotationMirrorsを使用します。
AnnotatedConstructのgetAnnotationMirrors<A extends Annotation> A getAnnotation(Class<A> annotationType)
nullを返します。
このメソッドが返す注釈には、Class型の値を持つ要素が含まれる場合があります。 この値は直接返されません。つまり、クラス・ローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。 返される注釈で関連するメソッドを呼び出すことによりClassオブジェクトを読み込もうとすると、MirroredTypeExceptionが発生します。これから、対応するTypeMirrorを抽出することができます。 同様に、Class[]の値を持つ要素を読み込もうとすると、MirroredTypesExceptionが発生します。
ノート: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。 このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報(仮想マシンに現在ロードされている注釈型の表現)に対して操作を行います。 その結果、返された注釈オブジェクトでメソッドを呼び出すと、コア・リフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。 このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼出し側を対象としています。
AnnotatedConstructのgetAnnotationA - 注釈型annotationType - 注釈型に対応するClassオブジェクトnullAnnotatedConstruct.getAnnotationMirrors(), AnnotatedElement.getAnnotation(java.lang.Class<T>), EnumConstantNotPresentException, AnnotationTypeMismatchException, IncompleteAnnotationException, MirroredTypeException, MirroredTypesException<R,P> R accept(ElementVisitor<R,P> v, P p)
R - ビジターのメソッドの戻り型P - ビジターのメソッドに追加するパラメータの型v - この要素で動作するビジターp - ビジターに追加するパラメータ バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。