Java 是否可以从注释实例获取注释元素?
如果我们有这样的课程:Java 是否可以从注释实例获取注释元素?,java,annotations,Java,Annotations,如果我们有这样的课程: public class Foo { @MyAnnotation private String name; } 然后有一个Foo的实例: Foo foo = new Foo(); 使用反射,我们可以得到一个表示名称的字段实例,从那里使用getAnnotation(MyAnnotation.class)我们可以得到应用于该字段的注释实例 我的问题是,是否可以从注释中获取带注释的元素(即字段、方法、类型等) 例如: MyAnnotation anno = ..
public class Foo {
@MyAnnotation
private String name;
}
然后有一个Foo
的实例:
Foo foo = new Foo();
使用反射,我们可以得到一个表示名称的字段
实例,从那里使用getAnnotation(MyAnnotation.class)
我们可以得到应用于该字段的注释实例
我的问题是,是否可以从注释中获取带注释的元素(即字段、方法、类型等)
例如:
MyAnnotation anno = ...;
anno.getField(); // returns the `Field` object representing the `name` field of a particular instance of `Foo`
编号:)
这似乎是一个单向参考。我假设您想将注释传递给其他一些代码,这些代码需要知道它应用于什么?当您从带注释的元素中提取注释时,您将存储当时带有注释的字段、方法等。也许可以创建一个包含注释和注释元素的包装bean
或者,如果原始类可用,则获取所有注释并比较它们是否相等,当存在匹配项时返回元素。不可取,但可能。谢谢你的回答。看来这真的不可能。但是,在本例中,我使用的是一个框架,不可能以这样的方式对其进行自定义,从而将对注释元素的引用与注释本身一起传递。