Spec-Zone.ru › OpenJDK 25

Класс 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()
Возвращает длину строкового представления (String) этого StringJoiner.
StringJoiner merge(StringJoiner other)
Добавляет содержимое указанного StringJoiner без префикса и суффикса в качестве следующего элемента, если он не пуст.
StringJoiner setEmptyValue(CharSequence emptyValue)
Задает последовательность символов, которая будет использоваться при определении строкового представления этого StringJoiner, если элементы еще не были добавлены, то есть когда он пуст.
String toString()
Возвращает текущее значение, состоящее из prefix, добавленных на данный момент значений, разделенных delimiter, и suffix, за исключением случаев, когда элементы не были добавлены; в таком случае возвращаются символы prefix + suffix или emptyValue.

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации по Java SE, где содержатся более подробные описания с концептуальными обзорами, определениями терминов, обходными путями и рабочими примерами кода, ориентированными на разработчиков. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком компании Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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