Gymterview
junior

Что такое StringJoiner?

StringJoiner — класс из пакета java.util, предназначенный для объединения строк через разделитель с возможностью задать префикс и суффикс. Он появился в Java 8 как альтернатива ручной конкатенации в циклах и используется внутри String.join() и Collectors.joining().

Пример
StringJoiner joiner = new StringJoiner(".", "prefix-", "-suffix");
for (String s : "Hello the brave world".split(" ")) {
    joiner.add(s);
}
System.out.println(joiner); // prefix-Hello.the.brave.world-suffix

StringJoiner также поддерживает метод merge() для объединения двух StringJoiner-ов и метод setEmptyValue() для задания значения, возвращаемого при отсутствии добавленных элементов. Внутри реализации используется StringBuilder, что обеспечивает эффективность.

Статический метод String.join() — удобная обёртка для простых случаев без префикса и суффикса:

Пример
String result = String.join(", ", "a", "b", "c"); // "a, b, c"

На собеседовании: упомяните, что Collectors.joining() в Stream API внутри использует StringJoiner. Это показывает понимание связи между компонентами Java 8.