• 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)
    }
    
  • 相关阅读:
    wustctf2020_name_your_dog
    wdb2018_guess(stack smash,__environ获取栈变量)
    ciscn_2019_en_3
    植物大战僵尸逆向(秒杀僵尸)
    pwnable_hacknote
    pwn-hitcontraining_magicheap(unsorted bin attack)
    pwn-[XMAN]level5(通用gadget,mprotect)
    pwn-pwnable_orw(seccomp&orw)
    《心流》有感
    LC112 路径总和
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/14292445.html
Copyright © 2020-2023  润新知