可能重复:
Java反射:如何获取变量的名称?
我发现关于这个话题的讨论很多,但从来没有令人满意的答案。。
A anyVariableName = new A();
我怎样才能得到变量的名称anyvolableName
并得到字符串"anyvolableName"
作为结果?这在Java可能吗?
局部变量名只存储在源代码(可以解析)或调试信息(如果包含字节码,可以从字节码中获取)中
如果是字段,如果不知道名称,可以使用Class.getDeclaredFields()。
如果anyVariableName
是局部变量,则不能。如果是字段,请使用Class#getField()
或Class#getDeclaredField()
。
有可能得到变量名吗? 例如: 现在打印结果: 屏幕:
我面临以下问题:我必须给成千上万的图形用户界面元素命名。如果它能像这样工作,那就太好了: 如果我能将元素的名称设置为“Classname.myMenuItem”,那就太好了。 是否有任何方法来获取变量的名称(变量名称ofc,而不是JMenuItem.getName())?
问题内容: 使用Java Reflection,是否可以获得本地变量的名称?例如,如果我有这个: 是否有可能实现一种可以找到这些变量名称的方法,如下所示: 问题答案: 从Java 8开始,可以通过反射获得一些局部变量名称信息。请参阅下面的“更新”部分。 完整的信息通常存储在类文件中。一种编译时优化是删除它,节省空间(并提供一些混淆)。但是,如果存在,则每个方法都有一个局部变量表属性,该属性列出了局
使用Java反射,是否可以获取局部变量的名称?例如,如果我有: 有没有可能实现一种方法,可以找到这些变量的名称,比如: 编辑:这个问题与Java中有没有找到传递给函数的变量名称的方法不同?在这一点上,它更纯粹地询问一个人是否可以使用反射来确定局部变量的名称,而另一个问题(包括公认的答案)更侧重于测试变量的值。
我想从传递的几个值动态调用几个“setter”方法。每个方法都将具有字符串,int...要设置的变量类型(例如:setUserName(String userName)或setUserAge(int age))。 在我的例子中,我有一个setter方法“setUse_status(int use_stats)”,我无法配置getDeclaredMethod方法工作。似乎在获取方法时,classVa
方法是否可能返回“object”?谢谢