Spec-Zone.ru › OpenJDK 21

Класс 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(", "));
 
C момента:
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()
Возвращает длину представления String этого 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" добавляется.
Параметры:
newElement - Элемент для добавления
Возвращает:
ссылку на этот StringJoiner

merge

public StringJoiner merge(StringJoiner other)
Добавляет содержимое данного StringJoiner без префикса и суффикса в качестве следующего элемента, если оно не пустое. Если данный StringJoiner пустой, вызов не оказывает никакого эффекта.

StringJoiner пустой, если метод add() никогда не вызывался, и если метод merge() никогда не вызывался с непустым аргументом StringJoiner.

Если у другого StringJoiner используется другой разделитель, элементы из другого StringJoiner конкатенируются с этим разделителем, и результат добавляется в этот StringJoiner как один элемент.

Параметры:
other - StringJoiner содержимое которого должно быть слито в этот
Возвращает:
Этот StringJoiner
Исключения:
NullPointerException - если другой StringJoiner равен null

длина

public int length()
Возвращает длину String представления этого StringJoiner. Обратите внимание, что если не были вызваны методы добавления, то будет возвращена длина String представления (либо prefix + suffix , либо emptyValue). Значение должно быть эквивалентно toString().length().
Возвращает:
длину текущего значения StringJoiner

© 1993, 2023, 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/21/docs/api/java.base/java/util/StringJoiner.html

Spec-Zone.ru

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