Класс 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. Обратите внимание, что после вызова метода add, 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, то будет возвращена длина строкового представления String (либо prefix + suffix или emptyValue). Значение должно быть эквивалентно toString().length().

Возвращает:
длина текущего значения StringJoiner

© 1993, 2020, 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://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/StringJoiner.html

Spec-Zone .ru
спецификации, руководства, описания, API