Javaでは、方法の注釈を取得するにはどうすればよいですか。

Javaのリフレクションを利用すると、メソッドの注釈を取得できます。一般的な方法は次のとおりです。

  1. クラス
  2. ネイティブに日本語で言い換えると、「メソッドを取得する」
  3. getDeclaredMethod
  4. メソッドを取得する
  5. getメソッドを取得
Class<?> clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("myMethod");
  1. ネイティブな日本語として文章を言い換えてください。1つのオプションのみ必要です。方法
  2. アノテーション取得
  3. アノテーションを取得する
  4. 注釈を取得する
  5. ご希望でしたら、日本語で言い換えてみることもできますが、いかがでしょうか?
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
  1. 最後に、アノテーションオブジェクトのメソッドによってアノテーションの属性値を取得できる。
String value = annotation.value();

完全なサンプルコードは下記の通りです。

import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotation {
String value();
}
class MyClass {
@MyAnnotation("Hello")
public void myMethod() {
// 方法体
}
}
public class Main {
public static void main(String[] args) throws NoSuchMethodException {
Class<?> clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("myMethod");
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
String value = annotation.value();
System.out.println(value); // 输出:Hello
}
}

実行時にリフレクションを用いてアノテーションを取得するには、注釈の保持ポリシーが RetentionPolicy.RUNTIME に設定されている必要があります。

bannerAds