Java : StringJoiner 示例

StringJoiner (Java SE 22 & JDK 22) 示例。
您将在大多数 StringJoiner 方法中找到代码示例。

注解 :

  • 本文可能使用了翻译软件以方便阅读。 另请查看英文原文

简介

StringJoiner 用于构造由分隔符分隔的字符序列,并且可以选择以提供的前缀开头并以提供的后缀结尾。 (机器翻译)

Class diagram

final var sj = new StringJoiner("-", "[", "]");

sj.add("aaa").add("bbb").add("ccc");

final var ret = sj.toString();
System.out.println(ret); // "[aaa-bbb-ccc]"
final var sj = new StringJoiner(", ", "(", ")");

sj.add("xxx").add("yyy").add("zzz");

final var ret = sj.toString();
System.out.println(ret); // "(xxx, yyy, zzz)"

Similar APIs.

final var list = List.of("aaa", "bbb", "ccc");

final var ret = String.join("-", list);
System.out.println(ret); // "aaa-bbb-ccc"
final var list = List.of("aaa", "bbb", "ccc");

final var ret = list.stream().collect(Collectors.joining("-", "[", "]"));
System.out.println(ret); // "[aaa-bbb-ccc]"

Constructors

StringJoiner (CharSequence delimiter)

构造一个不包含任何字符、没有前缀或后缀的 StringJoiner,以及所提供分隔符的副本。 (机器翻译)

final var sj = new StringJoiner("-");

sj.add("aaa").add("bbb").add("ccc");
System.out.println(sj); // "aaa-bbb-ccc"

StringJoiner (CharSequence delimiter, CharSequence prefix, CharSequence suffix)

使用提供的前缀、分隔符和后缀的副本构造一个不包含任何字符的 StringJoiner。 (机器翻译)

final var sj = new StringJoiner("-", "[", "]");

sj.add("aaa").add("bbb").add("ccc");
System.out.println(sj); // "[aaa-bbb-ccc]"

Methods

StringJoiner add (CharSequence newElement)

将给定 CharSequence 值的副本添加为 StringJoiner 值的下一个元素。 (机器翻译)

final var sj = new StringJoiner(", ");

sj.add("aaa").add("bbb").add("ccc").add(null);
System.out.println(sj); // "aaa, bbb, ccc, null"

int length ()

返回此 StringJoiner 的字符串表示的长度。 (机器翻译)

final var sj = new StringJoiner("-", "[", "]");

System.out.println(sj); // "[]"
System.out.println(sj.length()); // 2

sj.add("aaa");
System.out.println(sj); // "[aaa]"
System.out.println(sj.length()); // 5

sj.add("bbb");
System.out.println(sj); // "[aaa-bbb]"
System.out.println(sj.length()); // 9

StringJoiner merge (StringJoiner other)

如果给定的 StringJoiner 非空,则将其内容(不带前缀和后缀)添加为下一个元素。 (机器翻译)

final var sj1 = new StringJoiner("-", "[", "]");
final var sj2 = new StringJoiner(":");

sj1.add("aaa").add("bbb").add("ccc");
System.out.println(sj1); // "[aaa-bbb-ccc]"

sj2.add("012").add("345").add("678");
System.out.println(sj2); // "012:345:678"

sj1.merge(sj2).add("eee");
System.out.println(sj1); // "[aaa-bbb-ccc-012:345:678-eee]"

StringJoiner setEmptyValue (CharSequence emptyValue)

设置在确定此 StringJoiner 的字符串表示形式且尚未添加任何元素时(即当它为空时)要使用的字符序列。 (机器翻译)

final var sj = new StringJoiner("-", "[", "]");
System.out.println(sj); // "[]"

sj.setEmptyValue("empty");
System.out.println(sj); // "empty"

sj.add("aaa").add("bbb").add("ccc");

System.out.println(sj); // "[aaa-bbb-ccc]"

String toString ()

返回当前值,由前缀、迄今为止添加的由分隔符分隔的值和后缀组成,除非尚未添加元素,在这种情况下,将返回前缀 + 后缀或空值字符。 (机器翻译)

final var sj = new StringJoiner("-", "[", "]");

sj.add("aaa").add("bbb").add("ccc");

final var ret = sj.toString();
System.out.println(ret); // "[aaa-bbb-ccc]"

相关文章

To top of page