作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想获取包外接口(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/
我想获取包外接口(interface)方法的参数名称。 看起来LocalVariableTableParameterNameDiscoverer只能获取本地类的方法的参数名称。它不会获取包外接口(in
对于同一个 Junbin.java 文件,javac、javac -parameters 和 gradle build 编译的输出是不同的。我想用三种情况来说明让我困惑的问题。 原始文件Junbin.
我是一名优秀的程序员,十分优秀!