gpt4 book ai didi

运行时的 Java 元注解

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:55:26 25 4
gpt4 key购买 nike

我有这样的 java 元注释

@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = { ElementType.ANNOTATION_TYPE })
public @interface Qualifier {
}

然后我有另一个注释:

@Qualifier
@Retention(value = RetentionPolicy.RUNTIME)
@Target(value = { ElementType.TYPE })
public @interface LeafEntity {
String name() default "";
}

在运行时,我可以使用

提取 LeafEntity 注释
getClass().getAnnotation(LeafEntity.class);

但是,我想知道是否可以访问有关限定符的任何信息?我的意思是,如果您无法访问有关注释的任何信息,注释上的注释有什么用?

我已经尝试了以下所有方法:

getClass().getAnnotation(Qualifier.class);
getClass().getAnnotation(LeafEntity.class).getClass().getAnnotation(Qualifier.class);
getClass().getAnnotation(LeafEntity.class) instanceof Qualifier.class;

如果有人知道如何访问限定符注释,我将不胜感激。

这很重要的原因是我有一个名为 Qualifier 的基本注释。我想让我的用户定义他们喜欢的任何注释,只需对其应用 Qualifier 注释即可。然后我将扫描类以查找任何由 Qualifier 注释注释的注释。但如果我无法访问或识别 Qualifier 注释,那是不可能的。

提前致谢。

最佳答案

你试过吗:

getClass().getAnnotation(LeafEntity.class).annotationType().getAnnotation(Qualifier.class);

关于运行时的 Java 元注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5629541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com