Что такое 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.