2
カスタム注釈で注釈を付けられたすべてのフィールドを検索しようとしていますが、それを検出していないようです。 @Deprecatedのような標準アノテーションでも同じコードが正常に動作します。再現するJava:プライベートメンバーのアノテーションを取得
最小限のコード:
public class MyClass {
public @interface MyAnnotation {}
@MyAnnotation Object someObject;
@MyAnnotation @Deprecated Object someDeprecatedObject;
@Deprecated Object aThirdObject;
public static void main(String[] args) {
Class<?> cls = MyClass.class;
for (Field field : cls.getDeclaredFields()) {
System.out.print(field.getName());
for (Annotation a : field.getDeclaredAnnotations())
System.out.print(" " + a);
System.out.println();
}
}
}
が出力:
someObject
someDeprecatedObject @java.lang.Deprecated()
aThirdObject @java.lang.Deprecated()
@Deprecatedはアップしますが、@MyAnnotationはしません!助けて!
パーフェクト。 9分で受け入れます。ありがとう! – slezica