You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Stream将int[]元素添加到StringBuilder并为每个元素加空格

解决StringBuilder追加int数组元素时无分隔符的问题

你的代码仅将每个int元素直接追加到StringBuilder中,未添加分隔空格,因此结果会连在一起。以下几种方法可实现预期的带空格分隔效果:

方法一:追加元素时添加空格,最后移除末尾冗余空格

在原逻辑基础上修改,手动添加空格后处理末尾的多余空格:

StringBuilder res = new StringBuilder();
Arrays.stream(brr).forEach(num -> res.append(num).append(" "));
// 避免数组为空时出错,检查后删除最后一个空格
if (res.length() > 0) {
    res.deleteCharAt(res.length() - 1);
}

方法二:使用Stream的Collectors.joining生成带分隔符的字符串

通过Stream的collect操作直接生成带空格分隔的字符串,再追加到StringBuilder,代码更简洁:

import java.util.stream.Collectors;

StringBuilder res = new StringBuilder();
String joinedStr = Arrays.stream(brr)
                         .mapToObj(String::valueOf)
                         .collect(Collectors.joining(" "));
res.append(joinedStr);

方法三:使用StringJoiner自动处理分隔符

StringJoiner会自动处理元素间的分隔,无需手动删除末尾空格:

import java.util.StringJoiner;

StringBuilder res = new StringBuilder();
StringJoiner joiner = new StringJoiner(" ");
Arrays.stream(brr).forEach(num -> joiner.add(String.valueOf(num)));
res.append(joiner);

内容的提问来源于stack exchange,提问作者Habibur Rahman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 08:28:13