gpt4 book ai didi

java - 实例化一个带有某些注释的类

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

我想通过在注释处理器中获取注释来从存在特定注释的类中获取有关字段的信息。

我可以从注释中检索完全限定的类名,但无法实例化它,尽管类存在,但会抛出 ClassNotFoundException

如何检查类是否不在类路径中或者注释处理器包含哪个类路径?

try {
Class<?> clazz = Class.forName(((TypeElement) e).getQualifiedName().toString());
} catch (ClassNotFoundException cnfe) {
cnfe.printStackTrace();
}

最佳答案

您尝试在问题的代码中执行的操作是不可能的,因为注释处理发生在程序完全编译之前。这就是您与例如合作的原因TypeElement 对象而不是 Class,因为该类尚未编译。

另一方面,如果您只想检查存在哪些类型的字段,you can use the Element API for that ,例如:

for (Element e : typeElement.getEnclosedElements()) {
if (e.getKind() == ElementKind.FIELD) {
VariableElement field = (VariableElement) e;
//
}
}

关于java - 实例化一个带有某些注释的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44592406/

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