循环收集

时间:2014-04-25 19:56:05

标签: java

我遇到了这段代码的问题:

for (String functionChain : stringCollection) {
 lblSource.setText(functionChain);
 System.out.print(functionChain);
}

我想将文本设置为lblSource作为"链"所有收集的字符串。
它确实与System.out一起使用,我的意思是它确实按照我的意愿输出,但它没有将文本设置为标签,它只设置数组的最后一个值。
为什么会这样?我的意思是,system.out很好,我正在使用相同的变量" functionChain" ...但是system.out中的输出与标签中的输出不同。

3 个答案:

答案 0 :(得分:4)

首先获取旧值并连接。

lblSource.setText(lblSource.getText() + functionChain);

答案 1 :(得分:2)

setText()执行它听起来的样子:它设置标签的文本。

请改为尝试:

String s = "";
for (String functionChain : stringCollection) {
    s += functionChain;
    System.out.print(functionChain);
}
lblSource.setText(s);

答案 2 :(得分:0)

lblSource.setText(functionChain)将使用新值覆盖现有值。

要获得字符串集合的所有值,遍历字符串集合,附加值,然后将值设置为lblSource

例如:

StringBuilder sb = new StringBuilder();

循环收集。

sb.append(each value);
sb.append (",") // a separator if required

然后

lblSource.setText(sb.toString())