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)
    }
    
  • 相关阅读:
    Xcode下 gdb 调试命令
    Xcode 获取本地IP
    Linux终端提示符PS1设置(颜色)
    linux 客户端 Socket 非阻塞connect编程
    关于SIGPIPE导致的程序退出
    jQuery MiniUI开发系列之:数据验证
    支持Java Spring MVC
    支持ASP.NET MVC
    支持ASP.NET WebService
    jQuery MiniUI开发系列之:Ajax处理超时、服务端错误
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/14292445.html
Copyright © 2011-2022 走看看