Ответ
В Java, помимо конкатенации с помощью оператора +, есть несколько эффективных и удобных способов формирования строк:
-
StringBuilder(илиStringBufferдля многопоточности): Оптимальный выбор при множественных операциях со строками в цикле, так как избегает создания множества промежуточных объектовString.StringBuilder sb = new StringBuilder(); sb.append("Hello, ").append(name).append(". You are ").append(age).append(" years old."); String result = sb.toString(); -
String.format(): Позволяет создавать строки по шаблону с использованием спецификаторов формата.String result = String.format("Hello, %s. You are %d years old.", name, age); -
MessageFormat: Более мощный класс для форматирования строк с учетом локали, подстановками по индексам.String pattern = "Hello, {0}. You are {1} years old."; String result = MessageFormat.format(pattern, name, age); -
Метод
String.join(): Удобен для объединения коллекции строк с заданным разделителем.String[] words = {"Hello", "World"}; String result = String.join(" ", words); // "Hello World" -
Текстовые блоки (Java 15+): Для удобного написания многострочных строковых литералов.
String json = """ { "name": "%s", "age": %d } """.formatted(name, age); // .formatted() доступен с Java 15
Рекомендация: Для простой конкатенации нескольких строк + читаем. В циклах или при интенсивной модификации всегда используйте StringBuilder. Для сложных шаблонов или интернационализации — MessageFormat или String.format().