如果我有一个 Integer 类型的 ArrayList,其中包含 1、3、4、9、10 等数字...我如何在 JLabel 上显示这些数字,而不是总和,而是序列中的所有数字。
所以 JLabel 会显示,在这种情况下: 134910
预先感谢您的任何帮助。
编辑:谢谢大家,我当然应该考虑追加。无论如何,谢谢大家!
如果我有一个 Integer 类型的 ArrayList,其中包含 1、3、4、9、10 等数字...我如何在 JLabel 上显示这些数字,而不是总和,而是序列中的所有数字。
所以 JLabel 会显示,在这种情况下: 134910
预先感谢您的任何帮助。
编辑:谢谢大家,我当然应该考虑追加。无论如何,谢谢大家!
像这样:
StringBuilder sb = new StringBuilder();
for (Integer i : list) {
sb.append(i == null ? "" : i.toString());
}
lbl.setText(sb.toString());
Apache Commons Lang 使用StringUtils.join()(以不同的风格)进行救援(再次)。
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);
}
例子:
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() );
您从一个空字符串(或 StringBuilder)开始。然后遍历列表中的项目,将每个项目添加到字符串中。然后将字符串设置为 JLabel 的文本。