1

如果我有一个 Integer 类型的 ArrayList,其中包含 1、3、4、9、10 等数字...我如何在 JLabel 上显示这些数字,而不是总和,而是序列中的所有数字。

所以 JLabel 会显示,在这种情况下: 134910

预先感谢您的任何帮助。

编辑:谢谢大家,我当然应该考虑追加。无论如何,谢谢大家!

4

5 回答 5

4

像这样:

StringBuilder sb = new StringBuilder();
for (Integer i : list) {
    sb.append(i == null ? "" : i.toString());
}
lbl.setText(sb.toString());
于 2009-10-07T14:45:53.160 回答
1

Apache Commons Lang 使用StringUtils.join()(以不同的风格)进行救援(再次)。

于 2009-10-07T15:40:42.313 回答
1
private static String fromListToString(List<Integer> input) {
    StringBuilder sb = new StringBuilder();
    for (Integer num : input) {
        sb.append(num);
    }
    return sb.toString();
}

public static void main(String[] args) {
    JFrame f = new JFrame();
    List<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(3);
    list.add(4);
    list.add(9);
    list.add(10);
    f.getContentPane().add(new JLabel(fromListToString(list)));
    f.pack();
    f.setLocationRelativeTo(null);
    f.setVisible(true);
}
于 2009-10-07T14:48:16.867 回答
1

例子:

    List<Integer> list = Arrays.asList( 1, 3, 5, 7 );

    StringBuilder joined = new StringBuilder();
    for (Integer number : list) {
        joined.append( number );
    }
    new JLabel().setText( joined.toString() );
于 2009-10-07T14:48:26.947 回答
0

您从一个空字符串(或 StringBuilder)开始。然后遍历列表中的项目,将每个项目添加到字符串中。然后将字符串设置为 JLabel 的文本。

于 2009-10-07T14:47:17.523 回答