我发现了关于这个主题的各种讨论,但从来没有任何令人满意的答案..
A anyVariableName = new A();
如何获取变量anyVariableName
的名称并获取字符串"anyVariableName"
作为结果?
这在Java中是否可行?
答案 0 :(得分:7)
如果anyVariableName
是局部变量,则不能。如果是字段,请使用Class#getField()
或Class#getDeclaredField()
。
答案 1 :(得分:7)
存储局部变量名的唯一位置是源(可以解析)或调试信息(如果包含字节码,可以从字节码中获取)
如果您是某个字段,则可以使用Class.getDeclaredFields(),如果您不知道该名称。