Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以从注释实例获取注释元素?_Java_Annotations - Fatal编程技术网

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


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

谢谢你的回答。看来这真的不可能。但是,在本例中,我使用的是一个框架,不可能以这样的方式对其进行自定义,从而将对注释元素的引用与注释本身一起传递。