使用字符串代替变量名称
如果您有一个名为xyz的Java变量。 然后我将定义一个字符串,其中包含我想要使用的命名变量的值。
String x="xyz";
如何让Java将String x识别为变量xyz的指针?
一个任意的例子:
JButton a= new JButton();
稍后的 …
String x="a";
我现在想说些什么
JButton called string x.setPreferredSize(new Dimension(40,30));
通常,如果要以这种方式访问变量,则必须使用reflection,这种速度较慢且可能存在危险。
但是,由于您有一个非常具体的场景,我会采取不同的方法。 为什么不将按钮或其他元素放入地图中,键是字符串:
Map currentComponents = new HashMap(); currentComponents.put("a", new JButton()); String x = "a"; currentComponents.get(x).setPreferredSize(new Dimension(40,30));
简短的回答是你不能做这样的事情。 这不是Java语言的工作方式。 答案很长,您可以使用Reflection API模拟某些东西。
Java变量名为xyz
不,它的名字是x
。 它的值是“ xyz
”。
String x="a";
现在,您将值“ a
”分配给名为x
的字符串。 它与你的JButton
没有任何关联,即使它的名字是a
。