如何获得传递的参数名称,即在运行时传递的名称?
例如:
int mParam = 10;
public void func (int myParam){
//print wanted name
}
func(mParam);
想要的输出:
mParam
使用反射,我设法得到:
myParam
如何获得传递的参数名称,即在运行时传递的名称?
例如:
int mParam = 10;
public void func (int myParam){
//print wanted name
}
func(mParam);
想要的输出:
mParam
使用反射,我设法得到:
myParam
我认为这在java中是不可能的。由于java使用按值传递来传递参数。因此,当您将参数传递给 func() 时,它只会传递变量的值,而不是其他任何东西。
使用java中的reflect.parameter包可以知道函数定义的参数。如果你想知道你调用的函数的参数细节,你可以查看这个问题 我可以使用Java反射获得方法参数名称吗?
但是您无法知道传递的参数的名称。
您可以更改方法 func 以接收 2 个参数,例如:
public void func (int myParam, String myParamName){
//print wanted name
}
或者最好将 Map 作为参数传递:
public void func (Map<String, Integer> map){
//print wanted name
}
这样,您可以传递命名整数并在方法中按名称获取整数