Java 使用字符串变量中的值访问变量
而不是编写jTextField1.setText(“foo”) 如何将保存在“a”中的值用于该文本字段中的setText()? 有可能吗Java 使用字符串变量中的值访问变量,java,Java,而不是编写jTextField1.setText(“foo”) 如何将保存在“a”中的值用于该文本字段中的setText()? 有可能吗 提前感谢。为文本字段指定一个名称,并将其放入地图中 String a="jTextField1"; Map textFieldsByName=newhashmap(); textFieldsByName.put(“jTextField1”,someTextField); ... 字符串textFieldName=。。。; textFieldsByName.g
提前感谢。为文本字段指定一个名称,并将其放入地图中
String a="jTextField1";
Map textFieldsByName=newhashmap();
textFieldsByName.put(“jTextField1”,someTextField);
...
字符串textFieldName=。。。;
textFieldsByName.get(textFieldName.setText(“foo”);
听起来您应该有一个映射,或者只是一个数组。对于实际的变量名,您不能这样做,但可以使用映射(请参阅)。。。对于字段,理论上可以使用反射(getClass().getDeclaredField(a).get(this)
),但这将是丑陋、缓慢和错误的。
Map<String, JTextField> textFieldsByName = new HashMap<>();
textFieldsByName.put("jTextField1", someTextField);
...
String textFieldName = ...;
textFieldsByName.get(textFieldName).setText("foo");