我已阅读有关 StringBuilder API 和 StringJoiner API 以及 String.join 的信息,但不确定 StringBuilder 实例中是否有项目,这些项目调用用于与所选分隔符进行连接。我不想手动迭代并执行它(在某种程度上容易出错)
以下返回不带分隔符的结果:
StringBuilder sb = new StringBuilder();
sb.append("s1");
sb.append("s2");
String str2 = String.join("::",sb);
System.out.println(str2);
上面的输出为
s1s2
。我不确定为什么?
这是不可能的。 StringBuilder 不维护可以稍后连接的单独元素。当您尝试调用
String.join
时,元素边界已经丢失。
您需要从一开始就使用 StringJoiner,或者如果由于某种原因您确实被迫使用 StringBuilder,则需要手动在项目之间添加分隔符。