如何在Java中获取变量名?

时间:2013-01-22 13:27:02

标签: java reflection

  

可能重复:
  Java Reflection: How to get the name of a variable?

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

A anyVariableName = new A();

如何获取变量anyVariableName的名称并获取字符串"anyVariableName"作为结果? 这在Java中是否可行?

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:7)

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

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