StringJoiner学习和使用

Posted 泡^泡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringJoiner学习和使用相关的知识,希望对你有一定的参考价值。

StringJoiner是JDK1.8新添加的新特性,字符串拼接神器,比StringBuilder更加方便好用。

类结构图


prefix:拼接后的字符串前缀
delimiter:拼接时的字符串分隔符
suffix:拼接后的字符串后缀
value:拼接后的值
emptyValue:空值的情况,value为null时返回
setEmptyValue():设置空值
toString():转换成String
add():添加字符串
merge():从另一个StringJoiner合并
length():长度(包括前后缀)

构造方法

StringJoiner提供了两个构造器,一个必须带分隔符,另一个必须带分隔符、前缀、后缀

public StringJoiner(CharSequence delimiter) 
        this(delimiter, "", "");
    
 public StringJoiner(CharSequence delimiter,
                        CharSequence prefix,
                        CharSequence suffix) 
        Objects.requireNonNull(prefix, "The prefix must not be null");
        Objects.requireNonNull(delimiter, "The delimiter must not be null");
        Objects.requireNonNull(suffix, "The suffix must not be null");
        // make defensive copies of arguments
        this.prefix = prefix.toString();
        this.delimiter = delimiter.toString();
        this.suffix = suffix.toString();
        this.emptyValue = this.prefix + this.suffix;
    

分隔符案例

package com;

import java.util.StringJoiner;
/**
 * JDK1.8特性
 */
public class StringJoinerTest 
    public static void main(String[] args) 
        //分隔离
        StringJoiner str = new StringJoiner(",");
        str.add("hello");
        str.add("world");
        System.out.println(str);
    

前后缀案例

package com;

import java.util.StringJoiner;
/**
 * JDK1.8特性
 */
public class StringJoinerTest 
    public static void main(String[] args) 
        //前后缀案例
        StringJoiner str = new StringJoiner(",","【","】");
        str.add("hello");
        str.add("world");
        System.out.println(str);
    

空值处理

package com;

import java.util.StringJoiner;
/**
 * JDK1.8特性
 */
public class StringJoinerTest 
    public static void main(String[] args) 
        //空值
        StringJoiner str = new StringJoiner(",");
        System.out.println(str.toString());
        str = new StringJoiner(",","[","]");
        System.out.println(str.toString());
        str = new StringJoiner(",","[","]");
        str.setEmptyValue("null");
        System.out.println(str.toString());
    

以上是关于StringJoiner学习和使用的主要内容,如果未能解决你的问题,请参考以下文章

Java 学习笔记 - Java 8 StringJoiner

既然我们已经有了 StringBuilder,为啥还要使用 StringJoiner?

JAVA8—————StringJoiner类

扒源码!JDK8 StringJoiner

拼接字符串新姿势—StringJoiner

Java 8 – StringJoiner example