gpt4 book ai didi

java - 从 AnnotationMirror 获取元素注释

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

还有比这更好的方法从 AnnotationMirror 获取元素注释吗?这对我来说真的很老套。

for (AnnotationMirror annotationMirror : element.getAnnotationMirrors()) {
try {
Class annotationClass = Class.forName(annotationMirror.getAnnotationType().toString());
Annotation annotation = element.getAnnotation(annotationClass);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}

最佳答案

我想你只是想要:

javax.lang.model.element.Element

<A extends Annotation> A getAnnotation(Class<A> annotationType)

Returns this element's annotation for the specified type if such an annotation is present, else null. The annotation may be either inherited or directly present on this element.

并显式提供一个类(例如,name.class)。

很难理解为什么要使用 Class.forName(variable) 而不是 name.class 来显式命名该类。如果您使用 forName 调用,您实际上并不知道所获得的注释的类型。您必须在其后跟一个 instanceof 或类似的内容来检查您获得的注释,在这种情况下,您可能只是显式请求该注释类型。

关于java - 从 AnnotationMirror 获取元素注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300403/

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