zoukankan      html  css  js  c++  java
  • 20210117 java.util.StringJoiner

    java.util.StringJoiner

    基本信息

    • public final class StringJoiner
    • rt.jar
    • 引入版本:1.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)
    }
    
  • 相关阅读:
    [Everyday Mathematics]20150208
    [Everyday Mathematics]20150207
    [Everyday Mathematics]20150206
    数学基本技艺100题
    这天,白云酒楼里来了两位客人
    [Everyday Mathematics]20150205
    [Everyday Mathematics]20150204
    数学书籍阅读
    国科金发计〔2014〕86号
    [Everyday Mathematics]20150203
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/14292445.html
Copyright © 2011-2022 走看看