在java中获取传递的参数名?

在java中获取传递的参数名?,java,method-parameters,Java,Method Parameters,如何获取传递的参数名,即在运行时传递参数时使用的名称 例如: int mParam = 10; public void func (int myParam){ //print wanted name } func(mParam); 想要的输出: mParam 通过使用反射,我成功地获得: myParam 我认为这在java中是不可能的。因为java使用传递值来传递参数。因此,当您将参数传递给func()时,它只传递变量的值,而不传递其他值 可以使用java中的reflect.para

如何获取传递的参数名,即在运行时传递参数时使用的名称

例如:

int mParam = 10;

public void func (int myParam){
 //print wanted name
}

func(mParam);
想要的输出:

mParam
通过使用反射,我成功地获得:

myParam

我认为这在java中是不可能的。因为java使用传递值来传递参数。因此,当您将参数传递给func()时,它只传递变量的值,而不传递其他值

可以使用java中的reflect.parameter包了解函数定义的参数。如果您想了解调用函数的参数详细信息,可以查看此问题


但是您无法知道传递的参数的名称。

您可以更改方法func以接收2个参数,例如:

public void func (int myParam, String myParamName){
 //print wanted name
}
或者最好将贴图作为参数传递:

    public void func (Map<String, Integer> map){
 //print wanted name
}
public void func(地图){
//打印通缉犯姓名
}

通过这种方式,您可以在方法中传递命名整数并按名称获取整数

在Java 8解决方案的重复问题中向下滚动。@rgetman我认为OP不需要参数名,我认为他们需要字段名(恰好作为参数传递)。还不完全清楚。请注意,在他们的示例中,指定的输出不是参数名。@PaulBoddington如果是这种情况,我不确定这是否可行。即使是这样,对于XY问题来说,这听起来是一个非常糟糕的解决方案。你为什么需要这个名字?如果您需要它来更改其值或任何东西,通过引用传递将对您有好处。让我们知道您为什么需要它,以便我们可以帮助您更好地解决实际问题requirement@osh整数没有名称。如果某个整数恰好存储在某个特定变量中,则该事实不会由整数本身传递。