📜  何时在 StringBuilder 上使用 StringJoiner?(1)

📅  最后修改于: 2023-12-03 14:49:34.009000             🧑  作者: Mango

何时在 StringBuilder 上使用 StringJoiner?

当需要将多个字符串连接成一个字符串,并且连接符也需要动态指定时,可以使用 StringJoiner 来代替手动拼接字符串。另外,StringJoiner 可以处理分隔符的自动添加和取消。

使用示例
StringJoiner joiner = new StringJoiner(",");
joiner.add("apple");
joiner.add("banana");
joiner.add("orange");
String result = joiner.toString(); // "apple,banana,orange"

上面的示例中,StringJoiner 的构造方法中指定了连接符 ",",然后通过 add() 方法添加了三个字符串。最后调用 toString() 方法得到连接后的字符串。

自定义前缀和后缀

除了连接符外,StringJoiner 还可以指定前缀和后缀:

StringJoiner joiner = new StringJoiner(",", "[", "]");
joiner.add("apple");
joiner.add("banana");
joiner.add("orange");
String result = joiner.toString(); // "[apple,banana,orange]"

上面的示例中,StringJoiner 的构造方法中除了连接符 "," 外,还指定了前缀 [ 和后缀 ]

使用 StringBuilder 实现

虽然使用 StringJoiner 简单方便,但是在一些低版本的 JDK 中并不支持 StringJoiner。此时可以使用 StringBuilder 来实现相同的功能:

StringBuilder builder = new StringBuilder();
builder.append("[");
builder.append("apple");
builder.append(",");
builder.append("banana");
builder.append(",");
builder.append("orange");
builder.append("]");
String result = builder.toString(); // "[apple,banana,orange]"

上面的示例中,使用 StringBuilder 手动拼接了字符串,指定了连接符 ",",并且添加了前缀 [ 和后缀 ]

总结

在 JDK 1.8 及以上版本中,StringJoiner 可以方便地处理字符串连接,包括连接符、前缀和后缀等。在低版本的 JDK 中,可以使用 StringBuilder 手动拼接字符串来实现相同的功能。