gpt4 book ai didi

java - LocalVariableTableParameterNameDiscoverer 不起作用

转载 作者:行者123 更新时间:2023-12-01 04:29:23 24 4
gpt4 key购买 nike

我想获取包外接口(interface)方法的参数名称。

看起来LocalVariableTableParameterNameDiscoverer只能获取本地类的方法的参数名称。它不会获取包外接口(interface)的方法的参数名称。

请帮忙

  private LocalVariableTableParameterNameDiscoverer namer =new  LocalVariableTableParameterNameDiscoverer();


Class currentClass = Class.forName("com.soa.process.bpel.runtime.script.ScriptedAlertReporter");
methods=currentClass.getDeclaredMethods();
for (int j = 0; j < methods.length; j++)
{

method=currentClass.getMethod(methods[j].getName(),methods[j].getParameterTypes());
parameterNames = namer.getParameterNames(method);
if(parameterNames!=null && parameterNames.length>0)
{

}
}

最佳答案

这与接口(interface)是否在任何包之外无关。 LocalVariableTableParameterNameDiscoverer 通过检查 Java 编译器生成的调试信息来工作。不幸的是,此调试信息不​​包括接口(interface)方法的参数名称。

Java 8 让您 access interface parameter names via reflection ,或者如果您坚持使用早期的 Java 版本,您可以尝试 Paranamer .

关于java - LocalVariableTableParameterNameDiscoverer 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18155032/

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