Java : StringJoiner 示例
StringJoiner (Java SE 22 & JDK 22) 示例。
您将在大多数 StringJoiner 方法中找到代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
StringJoiner 用于构造由分隔符分隔的字符序列,并且可以选择以提供的前缀开头并以提供的后缀结尾。 (机器翻译)
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]"