Javaで属性にアノテーションを取得する方法は何ですか。
Javaでは、リフレクションを使用してプロパティの注釈を取得できます。プロパティに付けられた注釈を取得する手順は次のとおりです:
- Classオブジェクトを取得します。
- getField() を取得する
- 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());
}
}
結果は「サンプル注釈」であり、属性から注釈を取得できたことを示しています。