Объединение строк — одна из наиболее распространенных операций. Сегодня мы рассмотрим некоторые подходы к конкатенации строк и обсудим, как выбрать правильный вариант в зависимости от того, что нам нужно сделать.
🟣 Оператор "+"
Обеспечивает большую гибкость при конкатенации строк по сравнению с другими подходами.
String str1 = "Hello";
String str2 = " World";
System.out.println(str1 + str2);
🟣 StringBuilder
Этот класс предоставляет метод
append() для выполнения операций объединения, однако этот вариант не потокобезопасен.StringBuilder str1 = new StringBuilder("Hello");
StringBuilder str2 = new StringBuilder(" World");
StringBuilder result = str1.append(str2);
System.out.println(result);🟣 StringBuffer
Это аналогичный
StringBuilder подход к объединению строк. В отличие от StringBuilder, StringBuffer синхронизирован (т.е. потокобезопасен), однако производительность у него хуже, чем у StringBuilder.StringBuffer str1 = new StringBuffer("Hello");
StringBuffer str2 = new StringBuffer(" World");
StringBuffer result = str1.append(str2);
System.out.println(result);🟣 String.concat()
Метод
concat() добавляет указанную строку в конец текущей строки и возвращает новую объединенную строку. Учитывая, что класс String является неизменяемым, исходная строка не изменяется.String str1 = "Hello";
String str2 = " World";
System.out.println(str1.concat(str2));
🟣 String.join()
Этот способ позволяет конкатенировать строки с использованием разделителя.
String result = String.join(" ", "Hello", "World");
System.out.println(result);Первый аргумент из примера является разделителем (" ").
🟣 String.format()
Используя спецификаторы формата, такие как
%s, мы можем объединить несколько строк по их строковому значению или объекту.String str1 = "Hello";
String str2 = " World";
String result = String.format("%s%s", str1, str2);
System.out.println(result);
🕺 — если было полезно
❤️ — если знал все методы
➡️ Java Developer | #обучение
