Java リフレクション メカニズムを使用すると、リフレクター自体を探索でき、メソッド オブジェクトのアノテーション (アノテーションのタイプと値を含む) をリフレクションを通じて取得できます。
#Java リフレクション メカニズムはリフレクター自体で使用されます
Java リフレクション メカニズムにより、プログラムはリフレクターの構造を検査および変更できます。ただし、リフレクション メカニズム自体を調べるために使用されることはほとんどありません。この記事では、実際のケースを使用して、反射メカニズムを使用してリフレクターの動作を研究する方法を示します。ケース: Method オブジェクトの
Annotation
を取得するには、リフレクションを使用できます。 Method オブジェクトにアタッチされた注釈。サンプルコードは次のとおりです:
import java.lang.annotation.Annotation; import java.lang.reflect.Method; public class Main { public static void main(String[] args) { try { // 获取 Method 对象 Method method = Main.class.getMethod("annotatedMethod"); // 使用反射获取注解 Annotation[] annotations = method.getAnnotations(); // 遍历并打印注解 for (Annotation annotation : annotations) { System.out.println(annotation); } } catch (NoSuchMethodException e) { e.printStackTrace(); } } @MyAnnotation("Hello, World!") public void annotatedMethod() { } }
結果:
@MyAnnotation(value=Hello, World!)
解析:
Main
クラスの annotatedMethod
メソッドの Method
オブジェクトを取得します。
次に、annotations
配列に保存します。
最後に、
オブジェクトの注釈を取得する方法を示します。同じ原理を使用して、リフレクション メカニズムの他の側面を調べることができます。たとえば、次のようになります。
以上がJava リフレクション メカニズムはリフレクター自体とどのように連携するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。