3

可能重复:
Java 反射:如何获取变量的名称?

我已经找到了关于这个主题的各种讨论,但从来没有任何令人满意的答案..

A anyVariableName = new A();

如何获取变量的名称anyVariableName并获取字符串"anyVariableName"?这在Java中可能吗?

4

2 回答 2

7

如果anyVariableName是局部变量,则不能。如果是字段,请使用Class#getField()or Class#getDeclaredField()

于 2013-01-22T13:30:42.423 回答
7

存储局部变量名称的唯一位置是源(您可以解析)或调试信息(如果已包含,您可以从字节码中获取)

如果它是一个字段,如果您不知道名称,则可以使用 Class.getDeclaredFields()。

于 2013-01-22T13:36:51.310 回答