通过成员注释获取外部类

问题描述 投票:0回答:1

我有一个带有自定义注释的类,用于一个类字段:

public class Test {

    @CustomAnnotation
    private String name;

    ...
}

我只想知道是否可以通过此注释获得Class<Test>?找不到任何合适的api ..

public Class<?> getOuterClass(CustomAnnotation annotation) {
    ...
}

@CustomAnnotation被声明为@Retention(RetentionPolicy.RUNTIME)

java reflection annotations
1个回答
0
投票

否,注释不存储有关声明位置的任何数据。注释也可以像任何普通界面一样工作,因此有人可以在类的make实例中实现注释,而这些实例从未用作注释。

您需要自己添加该信息,方法是在批注中添加参数,然后使用它@CustomAnn(Test.class),或者在读取批注时记住并自己将该信息包含在其他对象中。

© www.soinside.com 2019 - 2024. All rights reserved.