作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
还有比这更好的方法从 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/
还有比这更好的方法从 AnnotationMirror 获取元素注释吗?这对我来说真的很老套。 for (AnnotationMirror annotationMirror : element.get
我是一名优秀的程序员,十分优秀!