java - 通过成员注解获取外部类

标签 java reflection annotations

我有一个类,其中一个类字段带有自定义注释:

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/

相关文章:

java - 如何像spring security一样创建安全注解

java - 如何在 Spring-WS 中定义基于模式的端点

java - 在同一语句中获取插入的id

C# - 使用反射从列表<Class>中提取值列表

java - Redirect from CustomLogoutHandler to 'login?logout' 被重定向到 'login'

java - 如何获取 Foo<?> 对象的 <?> 值?

JDBC 结果集/语句中的 Java 内存泄漏

java - 改进 Intellij 代码检查,以防止可能产生 NullPointerException 警告

java - 如何使用 JsonReader 从 URL 读取 JSON 对象?

java - Maven 在@XmlAccessorType 上抛出编译错误 "Cannot find symbol",但我可以找到它