可能的重复项:
Java 反射:如何获取变量的名称?
我找到了关于这个话题的各种讨论,但从来没有任何令人满意的答案。
A anyVariableName = new A();
如何获取变量anyVariableName
的名称并获取字符串"anyVariableName"
?这在Java中可能吗?
如果anyVariableName
是局部变量,则不能。如果是字段,请使用 Class#getField()
或 Class#getDeclaredField()
。
存储局部变量名称的唯一位置是源(您可以解析)或调试信息(如果包含字节码,则可以从字节代码中获取)
如果它是一个字段,如果你不知道名称,可以使用 Class.getDeclaredFields()。