gpt4 book ai didi

java - Reflections.getTypesAnnotatedWith(...) 找到类,但 getAnnotations().length 为 0

转载 作者:行者123 更新时间:2023-12-02 03:04:06 24 4
gpt4 key购买 nike

使用 Java 时 reflections library我可以正确找到用注释修饰的类:

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

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

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

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

最佳答案

确认,事实证明注释不会保留到运行时,除非您使用 @Retention(RetentionPolicy.RUNTIME) 标记它们。这解决了它。奇怪的是,该类(class)包含在集合中。我认为要么全有,要么全无。

关于java - Reflections.getTypesAnnotatedWith(...) 找到类,但 getAnnotations().length 为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13368460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com