我想显示用于传递给方法的对象实例的变量名称.我可以使用'incoming'对象并查看它声明的字段并查看它的变量名称,但我想知道是否有一种简单的方法来显示该名称.
我以为我可以得到一个堆栈跟踪并获取调用类的类名,然后使用类加载器并反映该类的字段和方法寻找相同的类型,但这只是凌乱而不是万无一失.
我要查找的变量名称不是方法参数列表中指定的变量名称,而是调用my方法的类中使用的变量名称.
例如
public class Ralph{
String punch = "mouth";
public void doIt(){
GetInfo.showIt(punch);
}
}
public class GetInfo{
public static void showIt(Object obj){
System.out.println("variable name = punch");
}
}
Run Code Online (Sandbox Code Playgroud)
显然不是可编译的代码,但这是我希望能够在showIt()方法中知道的.