我正在尝试在Java中使用类注释,并且我有getTypesAnnotatedWith
返回getAnnotation
返回null
的类的奇怪行为。
是否有某些原因getTypesAnnotatedWith
返回没有注释的类?
例如,在我的项目中,以下代码返回(正确)我注释的类之一:
new Reflections("my.nice.package")
.getTypesAnnotatedWith(MyTag.class)
.iterator().next();
但是,如果我在其上调用getAnnotation
,则结果为null
:
new Reflections("my.nice.package")
.getTypesAnnotatedWith(MyTag.class)
.iterator().next()
.getAnnotation(MyTag.class));
这是注释:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyTag {
public String value();
}
并且,为了完整起见,这是我对类进行注释的方式:
@MyTag("FooBar")
class MyClass {
// ...
}