gpt4 book ai didi

Java - 参数注释

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:04 26 4
gpt4 key购买 nike

无法获取方法的参数注释,下面是一个易于测试的演示,欢迎任何有关错误的指示:

// Annotation
public @interface At {}

// Class
public class AnnoTest {

public void myTest(@At String myVar1, String myVar2){}
}

// Test
public class App {

public static void main(String[] args) {

Class myClass = AnnoTest.class;

Method method = myClass.getMethods()[0];
Annotation[][] parameterAnnotations = method.getParameterAnnotations();

// Should output 1 instead of 0
System.out.println(parameterAnnotations[0].length);
}
}

最佳答案

您没有将 Retention 隐式设置为运行时,这样它默认为 @Retention (RetentionPolicy.CLASS) 这表示它在类文件中表示但是不存在于 VM 中。为了让它工作,将它添加到你的界面:@Retention (RetentionPolicy.RUNTIME) 作为类注释,然后它再次工作! :D

当您这样做时,您可能希望将特定的 @Target 设置为仅参数而不是方法/字段/类等。

关于Java - 参数注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30237266/

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