Sun*_*Sun 5 java stringbuilder
我使用StringBuilder在记录之间显示逗号,但在Last Record结束时也使用逗号
如何控制这个?我不喜欢在最后一个记录的末尾看到逗号 - 因为它没用
for (int i = 0; i < arrayList.size(); i++) {
String name = arrayList.get(i).getName();
int price = arrayList.get(i).getPrice();
stringBuilder.append(strName);
stringBuilder.append(" - "+price+",");
}
stringFinal = stringBuilder.toString();
Run Code Online (Sandbox Code Playgroud)
使用Java 8时不需要任何检查.您只需要使用StringJoiner(或String.join()).
StringJoiner joiner = new StringJoiner(",");
for (int i = 0; i < arrayList.size(); i++) {
String name = arrayList.get(i).getName();
int price = arrayList.get(i).getPrice();
joiner.add(strName + " - " + price);
}
String joinedString = joiner.toString();
Run Code Online (Sandbox Code Playgroud)
您可以利用StreamAPI(感谢@Sasha)使其更加清洁:
String joinedString = String.join(",", list.stream().map(
e -> e.getName() + " - " + e.getPrice()).collect(Collectors.toList()));
Run Code Online (Sandbox Code Playgroud)
添加对最后一项的检查。
if (i < arrayList.size() - 1) {
stringBuilder.append(" - "+price+",");
} else {
stringBuilder.append(" - "+price);
}
Run Code Online (Sandbox Code Playgroud)
或者:
stringBuilder.append(" - "+price);
if (i < arrayList.size() - 1) {
stringBuilder.append(",");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3275 次 |
| 最近记录: |