# StringJoiner
要高效拼接字符串,应该使用`StringBuilder`。
```java
/*
public class Main {
public static void main(String[] args) {
String[] names = {"Bob", "Alice", "Grace"};
var sj = new StringJoiner(", ");
for (String name : names) {
sj.add(name);
}
System.out.println(sj.toString());
}
}
*/
public class Main {
public static void main(String[] args) {
String[] names = {"Bob", "Alice", "Grace"};
var sj = new StringJoiner(", ", "Hello ", "!");
for (String name : names) {
sj.add(name);
}
System.out.println(sj.toString());
}
}
```
# String.join()
`String`还提供了一个静态方法`join()`,这个方法在内部使用了`StringJoiner`来拼接字符串,在不需要指定“开头”和“结尾”的时候,用`String.join()`更方便。
```java
String[] names = {"Bob", "Alice", "Grace"};
var s = String.join(", ", names);
```