Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java反射中获取当前正在执行的变量名_Java_Reflection - Fatal编程技术网

如何在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”);"