20210117 java.util.StringJoiner
java.util.StringJoiner
基本信息
public final class StringJoinerrt.jar- 引入版本:
1.8
使用说明
- 非常实用的工具类,Spring 源码中见到过这个类被使用,作用是拼接带前后缀和分隔符的字符串
StringJoiner用于构造由分隔符分隔的字符序列,并可选地以提供的前缀开头和以提供的后缀结尾- 内部使用
StringBuilder,属性包括delimiter: 分隔符prefix:前缀,默认是空字符串suffix: 后缀,默认是空字符串value:StringBuilder本体emptyValue: 默认是prefix+suffix
- 如果未调用过
add方法,调用toString方法返回通过setEmptyValue设置的值
构造方法
| 构造方法 |
|---|
StringJoiner(CharSequence delimiter)StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)设置 delimiter、prefix、suffix |
公共方法
实例方法
| 实例方法 |
|---|
StringJoiner setEmptyValue(CharSequence emptyValue)设置 emptyValue,不能为 null |
StringJoiner add(CharSequence newElement)添加元素,如果新元素为 null ,添加 "null" |
StringJoiner merge(StringJoiner other)将入参 StringJoiner 内容添加到当前类内容中 |
int length()value == null 时,返回 emptyValue |
String toString()返回当前值,当前值由前缀,到目前为止添加的值(由定界符分隔)和后缀组成。 value == null 时,则返回 emptyValue |
示例代码
@Test
public void test() {
StringJoiner sj1 = new StringJoiner(":", "[", "]");
sj1.add("a").add("b").add("c");
String desiredString = sj1.toString();
System.out.println(desiredString); // [a:b:c]
sj1.add("d");
System.out.println(sj1.toString()); // [a:b:c:d]
StringJoiner sj2 = new StringJoiner(",", "(", ")");
sj2.add("1").add("2").add("3");
System.out.println(sj2.toString()); // (1,2,3)
System.out.println(sj1.merge(sj2)); // [a:b:c:d:1,2,3]
System.out.println(sj2.merge(sj1)); // (1,2,3,a:b:c:d:1,2,3)
}
浙公网安备 33010602011771号