当前位置: 首页 > 知识库问答 >
问题:

Java:从变量[复制]中获取变量名

井兴怀
2023-03-14

我面临以下问题:我必须给成千上万的图形用户界面元素命名。如果它能像这样工作,那就太好了:

JMenuItem myMenuItem = new JMenuItem();
myMenuItem .setName(this.getClass().getSimplename() + "." + myMenuItem .get??)

如果我能将元素的名称设置为“Classname.myMenuItem”,那就太好了。

是否有任何方法来获取变量的名称(变量名称ofc,而不是JMenuItem.getName())?

共有2个答案

单于帅
2023-03-14

你想要的是不可能的。即使类文件中存在一些关于变量名的信息,您仍然必须记住,变量和它引用的对象之间存在差异。可以有任意数量的变量(局部变量、成员变量、参数等)引用同一对象。跟踪所有这些变量的名称会带来太多的运行时开销。

蓬森
2023-03-14

可以通过反射对场执行此操作:参见场。getName()。

你不能为局部变量这样做,它们在代码编译后基本上没有任何名字(嗯,在调试信息中,它们有,但是除非你实现调试器,否则它不容易访问和理解)。

 类似资料:
  • 我想从传递的几个值动态调用几个“setter”方法。每个方法都将具有字符串,int...要设置的变量类型(例如:setUserName(String userName)或setUserAge(int age))。 在我的例子中,我有一个setter方法“setUse_status(int use_stats)”,我无法配置getDeclaredMethod方法工作。似乎在获取方法时,classVa

  • 可能重复: Java反射:如何获取变量的名称? 我发现关于这个话题的讨论很多,但从来没有令人满意的答案。。 我怎样才能得到变量的名称并得到字符串作为结果?这在Java可能吗?

  • 有可能得到变量名吗? 例如: 现在打印结果: 屏幕:

  • 我想获取所选框的值,并将其保存在PHP变量中。我想保存并回显变量。请帮忙

  • 我试图在玩家发牌后从套牌中拿走一张牌,这样那些牌就不会再发牌了。 但这是我的命令错误:

  • 我创建了一个java程序来进行ssh连接,并使用scp进行文件传输。我在jenkins中添加了用户名、主机名和密码作为环境变量。我需要在java程序中访问这些环境变量的值。 我尝试在我的java文件中使用以下选项,但它不起作用。 由于一些安全问题,我无法使用EnvironmentInjectorPlugin。你能给我指一下正确的方向吗。