Searchable.java
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Searchable { }
Obj.java
public class Obj {
@Searchable
String myField;
}
void main(文字列[]引数)
Annotation[] annotations = Obj.class.getDeclaredField("myField").getAnnotations();
私annotations
の@Searchable
. ですがnull
。ドキュメントによると、この方法は次のとおりです。
この要素に存在するすべての注釈を返します。(この要素に注釈がない場合、長さゼロの配列を返します。) このメソッドの呼び出し元は、返された配列を自由に変更できます。他の呼び出し元に返される配列には影響しません。
null
の代わりに返されるため、これは(私にとって)さらに奇妙ですAnnotation[0]
。
ここで何が間違っているのか、さらに重要なのは、どうすれば を取得できるのAnnotation
でしょうか?