Javaで属性にアノテーションを取得する方法は何ですか。

Javaでは、リフレクションを使用してプロパティの注釈を取得できます。プロパティに付けられた注釈を取得する手順は次のとおりです:

  1. Classオブジェクトを取得します。
  2. getField() を取得する
  3. getAnnotation()を取得する.

以下はサンプルコードです。

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
    String value();
}

class MyClass {
    @MyAnnotation("示例注解")
    private String myField;

    public String getMyField() {
        return myField;
    }
}

public class Main {
    public static void main(String[] args) throws NoSuchFieldException {
        MyClass obj = new MyClass();

        // 获取属性对象
        Class<?> cls = obj.getClass();
        Field field = cls.getDeclaredField("myField");

        // 获取属性上的注解对象
        MyAnnotation annotation = field.getAnnotation(MyAnnotation.class);
        System.out.println(annotation.value());
    }
}

結果は「サンプル注釈」であり、属性から注釈を取得できたことを示しています。

bannerAds