如果我们有这样的课程:
public class Foo {
@MyAnnotation
private String name;
}
然后有一个Foo
的实例:
Foo foo = new Foo();
使用反射,我们可以获得一个代表Field
的{{1}}实例,并使用name
从那里获取应用于该字段的注释实例。
我的问题是,是否可以从注释中获取带注释的元素(即字段,方法,类型等)?
例如:
getAnnotation(MyAnnotation.class)
答案 0 :(得分:2)
没有。 :)
它似乎是单向参考。我假设你想将注释传递给其他代码,然后需要知道它应用于什么?当您从带注释的元素中提取注释时,您将在那时使用注释存储字段,方法等。也许创建一个包含Annotation和带注释元素的包装bean。
或者,如果原始类可用,则获取所有注释全部比较它们是否相等,在匹配时返回元素。不可取,但可能。