我正在尝试将带有键和值的 HashMap 打印到 TextArea 字段中。 当我尝试像这样打印 map 时, map 会被打印出来:
for(Map.Entry<Integer,String> entry : kodovi.entrySet()) {
System.out.println(entry.getKey()+" : "+entry.getValue());}
但是当我尝试在这样的文本区域中打印它时,它只打印出最后一个键和值。
for(Map.Entry<Integer,String> entry: kodovi.entrySet()){
textArea.setText(entry.getKey()+" : "+entry.getValue());}
如何解决这个问题?
最佳答案
每次调用textArea.setText(...)
时,
最后一次调用将替换之前的任何内容。
你可以获取之前的内容并附加到它上面, 但字符串连接效率很低。
使用StringBuilder
构建字符串会更好,
然后设置内容:
StringBuilder sb = new StringBuilder();
for (Map.Entry<Integer, String> entry : kodovi.entrySet()) {
sb.append(entry.getKey()).append(" : ").append(entry.getValue()).append("\n");
}
textArea.setText(sb.toString());
关于java - textArea.setText() 错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47661176/