gpt4 book ai didi

java - 通过使用反射获取带有注释的字段列表

转载 作者:IT老高 更新时间:2023-10-28 20:31:18 30 4
gpt4 key购买 nike

我创建我的注释

public @interface MyAnnotation {
}

我把它放在我的测试对象的字段上

public class TestObject {

@MyAnnotation
final private Outlook outlook;
@MyAnnotation
final private Temperature temperature;
...
}

现在我想用 MyAnnotation 获取所有字段的列表。

for(Field field  : TestObject.class.getDeclaredFields())
{
if (field.isAnnotationPresent(MyAnnotation.class))
{
//do action
}
}

但似乎我的 block 执行操作从未执行,并且字段没有注释,因为以下代码返回 0。

TestObject.class.getDeclaredField("outlook").getAnnotations().length;

有人可以帮助我并告诉我我做错了什么吗?

最佳答案

您需要将注释标记为在运行时可用。将以下内容添加到您的注释代码中。

@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}

关于java - 通过使用反射获取带有注释的字段列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585451/

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