Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用字符串变量中的值访问变量_Java - Fatal编程技术网

Java 使用字符串变量中的值访问变量

Java 使用字符串变量中的值访问变量,java,Java,而不是编写jTextField1.setText(“foo”) 如何将保存在“a”中的值用于该文本字段中的setText()? 有可能吗 提前感谢。为文本字段指定一个名称,并将其放入地图中 String a="jTextField1"; Map textFieldsByName=newhashmap(); textFieldsByName.put(“jTextField1”,someTextField); ... 字符串textFieldName=。。。; textFieldsByName.g

而不是编写jTextField1.setText(“foo”) 如何将保存在“a”中的值用于该文本字段中的setText()? 有可能吗


提前感谢。

为文本字段指定一个名称,并将其放入地图中

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");