20200117 java.util.StringJoiner

java.util.StringJoiner

基本信息

  • java.util.StringJoiner
  • rt.jar
  • 引入版本:JDK1.8

使用说明

  • 非常实用的工具类,Spring 源码中见到过这个类被使用,作用是拼接带前后缀和分隔符的字符串
  • StringJoiner 用于构造由分隔符分隔的字符序列,并可选地以提供的前缀开头和以提供的后缀结尾
  • 内部使用 StringBuilder,属性包括
    • delimiter : 分隔符
    • prefix :前缀,默认是空字符串
    • suffix : 后缀,默认是空字符串
    • valueStringBuilder 本体
    • emptyValue : 默认是 prefix + suffix
  • 如果未调用过 add 方法,调用 toString 方法返回通过 setEmptyValue 设置的值

构造方法

构造方法
StringJoiner(CharSequence delimiter)
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
设置 delimiterprefixsuffix

公共方法

实例方法

实例方法
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)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章