Класс StringJoiner
public final class StringJoiner extends Object
StringJoiner используется для построения последовательности символов, разделенных разделителем и необязательно начинающихся с указанного префикса и заканчивающихся указанным суффиксом. Перед добавлением чего-либо в StringJoiner, его метод sj.toString() по умолчанию вернёт prefix + suffix. Однако, если вызвать метод setEmptyValue, будет возвращён предоставленный emptyValue. Это можно использовать, например, при создании строки с использованием нотации множества для обозначения пустого множества, например, "{}", где prefix равен "{", suffix равен "}" и ничего не было добавлено в StringJoiner.
- Примечание API:
-
Строка
"[George:Sally:Fred]"может быть построена следующим образом:StringJoiner sj = new StringJoiner(":", "[", "]"); sj.add("George").add("Sally").add("Fred"); String desiredString = sj.toString();Можно использовать
StringJoinerдля создания форматированного вывода изStreamс помощьюCollectors.joining(CharSequence). Например:List<Integer> numbers = Arrays.asList(1, 2, 3, 4); String commaSeparatedNumbers = numbers.stream() .map(i -> i.toString()) .collect(Collectors.joining(", ")); - С:
- 1.8
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StringJoiner |
Создаёт StringJoiner без символов, без prefix или suffix и копией переданного delimiter. |
StringJoiner |
Создаёт StringJoiner без символов с копиями переданных prefix, delimiter и suffix. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
StringJoiner |
add |
Добавляет копию заданного значения CharSequence в качестве следующего элемента значения StringJoiner. |
int |
length() |
Возвращает длину строкового представления этого StringJoiner. |
StringJoiner |
merge |
Добавляет содержимое заданного StringJoiner без префикса и суффикса в качестве следующего элемента, если оно не пусто. |
StringJoiner |
setEmptyValue |
Устанавливает последовательность символов, используемую при определении строкового представления этого StringJoiner, когда ещё не было добавлено элементов, то есть, когда оно пусто. |
String |
toString() |
Возвращает текущее значение, состоящее из prefix, добавленных до этого значений, разделённых delimiter, и suffix, если не было добавлено элементов, в противном случае возвращаются символы prefix + suffix или emptyValue. |
Подробное описание конструкторов
StringJoiner
public StringJoiner(CharSequence delimiter)
StringJoiner без символов, без prefix или suffix и копией переданного delimiter. Если в StringJoiner не добавляются символы и вызываются методы, обращающиеся к его значению, то он не вернёт prefix или suffix (или их свойства) в результате, если не был предварительно вызван метод setEmptyValue.- Параметры:
-
delimiter- последовательность символов, используемая между каждым добавленным элементом в значениеStringJoiner - Исключения:
-
NullPointerException- еслиdelimiterравенnull
StringJoiner
public StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
StringJoiner без символов, используя копии переданных prefix, delimiter и suffix. Если в StringJoiner не добавляются символы и вызываются методы, обращающиеся к строковому значению, оно вернёт prefix + suffix (или его свойства) в результате, если не был предварительно вызван метод setEmptyValue.- Параметры:
-
delimiter- последовательность символов, используемая между каждым добавленным элементом в значениеStringJoiner -
prefix- последовательность символов, используемая в начале -
suffix- последовательность символов, используемая в конце - Исключения:
-
NullPointerException- еслиprefix,delimiterилиsuffixравныnull
Подробное описание методов
setEmptyValue
public StringJoiner setEmptyValue(CharSequence emptyValue)
StringJoiner, когда ещё не было добавлено элементов, то есть, когда оно пусто. Для этой цели создаётся копия параметра emptyValue. Обратите внимание, что как только был вызван метод добавления, StringJoiner больше не считается пустым, даже если добавленный(ые) элемент(ы) соответствуют пустому String.- Параметры:
-
emptyValue- символы, которые нужно вернуть как значение пустогоStringJoiner - Возвращает:
- сам этот
StringJoiner, чтобы можно было вызывать методы последовательно - Исключения:
-
NullPointerException- когда параметрemptyValueравенnull
toString
public String toString()
prefix, добавленных до этого значений, разделённых delimiter, и suffix, если не было добавлено элементов, в противном случае возвращаются символы prefix + suffix или emptyValue.add
public StringJoiner add(CharSequence newElement)
CharSequence в качестве следующего элемента значения StringJoiner. Если newElement равен null, то добавляется "null".- Параметры:
-
newElement- Элемент для добавления - Возвращает:
- ссылку на этот
StringJoiner
merge
public StringJoiner merge(StringJoiner other)
StringJoiner без префикса и суффикса в качестве следующего элемента, если оно не пусто. Если заданный
StringJoiner пуст, вызов не оказывает никакого влияния. StringJoiner пуст, если add() никогда не вызывался, и если merge() никогда не вызывался с непустым аргументом StringJoiner.
Если у других StringJoiner другой разделитель, то элементы из других StringJoiner конкатенируются с этим разделителем, и результат добавляется в этот StringJoiner как один элемент.
- Параметры:
-
other-StringJoiner, содержимое которого должно быть слияно в этот - Возвращает:
- Этот
StringJoiner - Исключения:
-
NullPointerException- если другойStringJoinerравен null
length
public int length()
StringJoiner. Обратите внимание, что если не были вызваны методы add, то возвращается длина строкового представления (либо prefix + suffix, либо emptyValue). Значение должно быть эквивалентно toString().length().- Возвращает:
- длина текущего значения
StringJoiner
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/StringJoiner.html