如何在Java中获取变量名?

Wal*_*rus 3 java reflection

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

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

A anyVariableName = new A();
Run Code Online (Sandbox Code Playgroud)

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

JB *_*zet 7

如果anyVariableName是局部变量,则不能.如果它是一个字段,请使用Class#getField()Class#getDeclaredField().

  • 注意:这两种方法仅在您已拥有名称时才有用. (11认同)

Pet*_*rey 7

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

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