gpt4 book ai didi

java - 如何使用反射来确定Annotation的目标?

转载 作者:行者123 更新时间:2023-11-30 03:08:55 24 4
gpt4 key购买 nike

假设我有一个运行时注释 @foo@Target({ElementType.PARAMETER})

还假设我用它来注释一个方法:

void someFunction(@foo Bar bar) {
// ...
}

我有一个实例 Annotation 注释,它与上面 someFunction 中的注释相对应。

有没有办法使用我的实例注释(和反射)来确定参数bar的类型是Bar类型?

最佳答案

不,给定注释的实例,您无法具体确定它注释的内容。

Annotation接口(interface)公开annotationType()这将使您能够访问注释类型(您的)。因此,您可以使用 retrieve 相应的Class您的类型上的 Target 注释的值。这是你能做的最好的事情了。

<小时/>

请注意,Annotation 只是一个接口(interface)。我可以像其他实例一样创建它的实例。

new Annotation() {
@Override
public Class<? extends Annotation> annotationType() {
return Target.class; // whatever
}
};

关于java - 如何使用反射来确定Annotation的目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34080658/

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