是否可以从注释实例中获取带注释的元素?

时间:2014-11-19 03:16:45

标签: java annotations

如果我们有这样的课程:

public class Foo {

  @MyAnnotation
  private String name;

}

然后有一个Foo的实例:

Foo foo = new Foo();

使用反射,我们可以获得一个代表Field的{​​{1}}实例,并使用name从那里获取应用于该字段的注释实例。

我的问题是,是否可以从注释中获取带注释的元素(即字段,方法,类型等)?

例如:

getAnnotation(MyAnnotation.class)

1 个答案:

答案 0 :(得分:2)

没有。 :)

它似乎是单向参考。我假设你想将注释传递给其他代码,然后需要知道它应用于什么?当您从带注释的元素中提取注释时,您将在那时使用注释存储字段,方法等。也许创建一个包含Annotation和带注释元素的包装bean。

或者,如果原始类可用,则获取所有注释全部比较它们是否相等,在匹配时返回元素。不可取,但可能。