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