3

使用 Java反射库时,我可以正确找到用注释装饰的类:

Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(CommandName.class);

但是当我尝试查看每个类上有多少注释时,我总是看到零:

for(Class c : annotated)
{
     int numAnnotations = c.getAnnotations().length;
}

为什么c.getAnnotations()返回一个长度为 0 的数组?事实上,在调试器中,所有的字段(除了namec都是null.

4

1 回答 1

0

确认,结果注释不会保留到运行时,除非你用@Retention(RetentionPolicy.RUNTIME) 标记它们。这解决了它。奇怪的是,该类被包含在集合中。我认为这将是全部或全部。

于 2012-11-13T21:54:45.053 回答