我面临以下问题:我必须为成千上万的GUI元素命名。如果能够像以下那样运行脚本会很好:
JMenuItem myMenuItem = new JMenuItem();
myMenuItem .setName(this.getClass().getSimplename() + "." + myMenuItem .get??)
如果我可以将元素的名称设置为“Classname.myMenuItem”,那会很好。
有没有办法获取变量的名称(变量名称ofc,而不是JMenuItem.getName())?
答案 0 :(得分:0)
您可以通过反射为字段执行此操作:请参阅Field.getName()。
你不能对局部变量这样做,他们在代码编译后基本上没有任何名字(好吧,他们有调试信息,但除非你实现调试器,否则它不容易理解和理解: - ))。
答案 1 :(得分:0)
你想要的是不可能的。即使类文件中存在关于变量名的一些信息,您仍然必须记住变量与它所引用的对象之间存在差异。可以有任意数量的变量(局部变量,成员变量,参数等)引用同一个对象。跟踪所有这些变量的名称会产生太多的运行时间开销。