Класс 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() |
Возвращает длину строкового представления String этого StringJoiner. |
StringJoiner |
merge |
Добавляет содержимое заданного StringJoiner без префикса и суффикса в качестве следующего элемента, если оно не пусто. |
StringJoiner |
setEmptyValue |
Задаёт последовательность символов, используемую при определении строкового представления этого StringJoiner, если элементы ещё не добавлены, то есть когда оно пусто. |
String |
toString() |
Возвращает текущее значение, состоящее из prefix, значений, добавленных к настоящему моменту и разделённых delimiter, и suffix. Если элементы не добавлялись, возвращаются символы prefix + suffix или emptyValue. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарел, будет удалён: этот элемент API подлежит удалению в будущей версии. Финализация устарела и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка времени. |
Подробное описание конструкторов
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()
String этого StringJoiner. Обратите внимание: если методы добавления не вызывались, возвращается длина строкового представления String (либо 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.