gpt4 book ai didi

java - 反射从方法参数注释获取值

转载 作者:行者123 更新时间:2023-12-01 11:42:13 24 4
gpt4 key购买 nike

示例代码:

public interface TestClass {

@AnnoTest
public Object getTestObject( @AnnoTestArg("id") Integer postId );

}

如何从 @AnnoTestArg 注释中获取值?我知道如何检查参数是否已注释,但是我无法检查注释值。

这是我的代码:

public void build(...) {
Annotation[][] anno = pm.getMethod().getParameterAnnotations();

for( Annotation a : anno[argNumber] ) {
if( a.equals(AnnoTestArg.class) ) {
// value ?
}
}


return connector;
}

最佳答案

Annotation 是所有注释类型的 super 接口(interface)。假设您的 AnnoTestArg 注释类似于

@Target(value = ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@interface AnnoTestArg {
String value();
}

您只需将 Annotation 值转换为 AnnoTestArg 并调用适当的方法

for (Annotation a : anno[0]) {
if (a instanceof AnnoTestArg) {
AnnoTestArg arg = (AnnoTestArg) a;
System.out.println(arg.value());
}
}

关于java - 反射从方法参数注释获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29436566/

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