Spec-Zone.ru › OpenJDK 24

Класс StringJoiner

java.lang.Object
java.util.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
См. также:
  • Collectors.joining(CharSequence)
  • Collectors.joining(CharSequence, CharSequence, CharSequence)

Краткое описание конструкторов

Конструктор Описание
StringJoiner(CharSequence delimiter)
Создаёт StringJoiner без символов, без prefix или suffix и копией переданного delimiter.
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
Создаёт StringJoiner без символов с копиями переданных prefix, delimiter и suffix.

Краткое описание методов

Модификатор и тип Метод Описание
StringJoiner add(CharSequence newElement)
Добавляет копию заданного значения CharSequence в качестве следующего элемента значения StringJoiner.
int length()
Возвращает длину строкового представления этого StringJoiner.
StringJoiner merge(StringJoiner other)
Добавляет содержимое заданного StringJoiner без префикса и суффикса в качестве следующего элемента, если оно не пусто.
StringJoiner setEmptyValue(CharSequence emptyValue)
Устанавливает последовательность символов, используемую при определении строкового представления этого StringJoiner, когда ещё не было добавлено элементов, то есть, когда оно пусто.
String toString()
Возвращает текущее значение, состоящее из prefix, добавленных до этого значений, разделённых delimiter, и suffix, если не было добавлено элементов, в противном случае возвращаются символы prefix + suffix или emptyValue.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, 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.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого StringJoiner

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API