我需要在运行时获取方法的参数名称。有什么办法可以做到这一点?
我尝试使用LocalVariableTableParameterNameDiscoverer
哪个是 Spring 类。但它仅适用于类而不适用于接口。
获取参数名称的唯一方法是使用-g:vars
选项编译源代码。这会在类文件中生成一个LocalVariableTable
属性。这通常被删除以进行优化。
例如:(取自这里)
public class Example {
public int plus(int a){
int b = 1;
return a + b;
}
}
这将创建LocalVariableTable
如下
本地变量表:
Start Length Slot Name Signature
0 6 0 this LExample;
0 6 1 a I
2 4 2 b I