如何在java反射中获取当前正在执行的变量名
这个问题与.不同,因为我想获取变量名,而不是执行方法名如何在java反射中获取当前正在执行的变量名,java,reflection,Java,Reflection,这个问题与.不同,因为我想获取变量名,而不是执行方法名 public static int addTwoNumbers(int a,int b){ int result=0; result=a+b; //system.out.println(error variable name); return result; } 在上面的代码片段addTwoNumber函数中,添加给定的两个值并返回结果。我的要求是这样的。假设用户意外地传递了不同的数
public static int addTwoNumbers(int a,int b){
int result=0;
result=a+b;
//system.out.println(error variable name);
return result;
}
在上面的代码片段
addTwoNumber
函数中,添加给定的两个值并返回结果。我的要求是这样的。假设用户意外地传递了不同的数据类型值(double和string)。然后我想输出导致变量名的结果。为此,我想获取当前正在执行的变量名。我想知道是否可以通过java反射或任何其他API获取当前正在执行的变量名。请分享您的想法 可能重复“我想知道是否可以通过java反射或任何其他API获取当前正在执行的变量名”-不,反射不是这样工作的。“假设用户意外地传递了不同的数据类型值(double和string)”-这是不可能的,形式参数阻止了这种情况的发生。如果他们尝试,则会导致编译时错误;如果他们使用反射,则会导致IllegalArgumentException
,在这种情况下,诊断将很麻烦,因为您需要将参数类型
与传递给invoke
方法的类型进行比较。局部变量无法通过反射访问。您可以调用方法(构造函数)和读/写字段。即使是(即使可能向变量传递错误的参数):代码也比'System.out.println(“result”);“我想知道是否可以通过java反射或任何其他API获取当前正在执行的变量名”-不,反射不是这样工作的。”假设用户意外地传递了不同的数据类型值(double和string)“-这是不可能的,形式参数阻止了这种情况的发生。如果他们尝试,则会导致编译时错误;如果他们使用反射,则会导致IllegalArgumentException
,在这种情况下,诊断将很麻烦,因为您需要将参数类型
与传递给invoke
方法的类型进行比较。局部变量无法通过反射访问。您可以调用方法(构造函数)和读/写字段。即使是(即使可能向变量传递错误的参数):代码也比'System.out.println(“result”);"