gpt4 book ai didi

java - 为什么 isAnnotationPresent(Id.class) 不适用于类文件

转载 作者:搜寻专家 更新时间:2023-10-31 08:05:15 25 4
gpt4 key购买 nike

我有一个类文件test.class。在该文件中有注释作为 @Id@Entity。但是当我使用方法 field.isAnnotationPresent(Id.class) 检查注释时,它返回 false。我正在获取字段变量中的所有字段。

任何人都可以告诉我我做错了什么。

更新:我使用下面的代码来获取类

File file=new File("D:/test/");
URL url=file.toURL();
URL[] urls=new URL[]{url};
ClassLoader loader=new URLClassLoader(urls);
Class cls=loader.loadClass("com.net.test.Test");

最佳答案

您是否使用保留政策对注释进行了注释?如果未设置保留策略,则默认保留策略行为是注释由编译器读取并保留在生成的 .class 文件中,但在运行时不可访问。如果您在运行时需要注释,则需要使用以下注释注释您的注释:

@Retention(RetentionPolicy.RUNTIME)  

关于java - 为什么 isAnnotationPresent(Id.class) 不适用于类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9835973/

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