我有一个类,其中一个类字段带有自定义注释:
public class Test {
@CustomAnnotation
private String name;
...
}
我只是想知道是否可以得到Class<Test>
通过这个注释?找不到合适的api..
public Class<?> getOuterClass(CustomAnnotation annotation) {
...
}
@CustomAnnotation
声明为@Retention(RetentionPolicy.RUNTIME)
最佳答案
不,注释不会存储有关其声明位置的任何数据。
注释也可以像任何普通接口(interface)一样工作,因此有人可以在类中实现注释并创建从未用作注释的实例。
您需要自己包含该信息,通过向注释添加参数然后使用它@CustomAnn(Test.class)
,或者在阅读注释时只需记住并将该信息自己包含在其他对象中。
关于java - 通过成员注解获取外部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60742075/