🧵 String.join(): Склеиваем строки без боли
Помните те времена, когда для объединения списка строк через запятую приходилось писать циклы, использовать
Начиная с Java 8, у нас есть элегантный статический метод
🛠 Как это работает?
Метод принимает разделитель (delimiter) и элементы, которые нужно склеить. Элементами могут быть как просто перечисление строк (varargs), так и любая коллекция (Iterable).
1️⃣ Пример с перечислением строк:
2️⃣ Пример с коллекцией (List, Set):
🧐 Важные нюансы:
- Null-safe (частично): Если сам список или массив равен
- Под капотом: Метод использует
🚀 Когда использовать?
Используйте
Если же вы работаете со Stream API, то лучше подойдет коллектор:
#Java #Core #Tips #CleanCode
📲 Мы в MAX
👉@BookJava
Помните те времена, когда для объединения списка строк через запятую приходилось писать циклы, использовать
StringBuilder, а потом еще и аккуратно удалять последний разделитель? 🤯Начиная с Java 8, у нас есть элегантный статический метод
String.join, который делает код чистым и читаемым.🛠 Как это работает?
Метод принимает разделитель (delimiter) и элементы, которые нужно склеить. Элементами могут быть как просто перечисление строк (varargs), так и любая коллекция (Iterable).
1️⃣ Пример с перечислением строк:
String result = String.join(" -> ", "Wake up", "Code", "Sleep");
System.out.println(result);
// Вывод: Wake up -> Code -> Sleep
2️⃣ Пример с коллекцией (List, Set):
List<String> langs = Arrays.asList("Java", "Kotlin", "Groovy");
// Больше никаких циклов!
String output = String.join(" | ", langs);
System.out.println(output);
// Вывод: Java | Kotlin | Groovy
🧐 Важные нюансы:
- Null-safe (частично): Если сам список или массив равен
null, вы получите NullPointerException. Но если null является одним из элементов списка, метод просто преобразует его в строку "null".- Под капотом: Метод использует
StringJoiner (еще один класс из Java 8), что обеспечивает неплохую производительность по сравнению с обычной конкатенацией через +.🚀 Когда использовать?
Используйте
String.join, когда у вас уже есть коллекция или массив строк, и вам нужно быстро собрать их в одну строку.Если же вы работаете со Stream API, то лучше подойдет коллектор:
.collect(Collectors.joining(", "))#Java #Core #Tips #CleanCode
👉@BookJava
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3