有没有一种方法可以在循环期间在值之间优雅地插入空格(或者我想是任何字符或字符串)?例如,我想执行以下操作:
for (int i = 0; i < 6; i++) {
System.out.print(i + " ");
}
输出以下内容:
0 1 2 3 4 5
但这段代码实际上在 5 之后留下了一个空格。我可以在循环之后添加一个修剪,以剪掉任何空格,或者在循环之前执行第一个元素,索引 i=2,并使用 print(" " + i) 代替,但我想知道是否有一种更优雅和干净的方法来专门插入一个值between循环中的元素。
编辑:正如 Arvind 指出的,它将是 0 1 2 3 4 5,而不是 1 2 3 4 5。
以下是三个替代选项:
StringJoiner:
StringJoiner sj = new StringJoiner(" ");
for (int i = 0; i < 6; i++) {
sj.add(String.valueOf(i));
}
Collectors.joining():
String joined = IntStream.range(0, 6)
.mapToObj(String::valueOf)
.collect(Collectors.joining(" "));
String.join():
String[] strings = new String[6];
for (int i = 0; i < 6; i++) {
strings[i] = i + "";
}
String joined = String.join(" ", strings);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)