问题描述
如果您有一个名为xyz的Java变量。
然后我定义一个字符串,其中包含我想要使用的命名变量的值。
If you have a Java variable named xyz.Then later on I define a string which has the value of the named variable I want to play with.
String x="xyz";
如何让Java将String x识别为变量xyz的指针?
How do I get Java to recognise that String x as a pointer to variable xyz?
一个任意的例子:
JButton a= new JButton();
稍后......
String x="a";
我现在要说的是
JButton called string x.setPreferredSize(new Dimension(40,30));
推荐答案
一般来说,如果你想访问一个变量这样,你必须使用反射,这是较慢且有潜在危险。
In general, if you want to access a variable in this way, you have to use Reflection, which is slower and potentially dangerous.
但是,由于你有一个非常具体的场景,我会采取不同的方法。为什么不把你的按钮或其他元素放到地图中,键是字符串:
However, since you have a very specific scenario in mind, I'd take a different approach. Why not put your buttons or other elements into a map, with keys that are strings:
Map<String, JComponent> currentComponents = new HashMap<String, JComponent>();
currentComponents.put("a", new JButton());
String x = "a";
currentComponents.get(x).setPreferredSize(new Dimension(40,30));
这篇关于使用字符串代替变量名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!