Java8 StringJoiner工具类

129 阅读1分钟

今天在实际开发中遇到一个需求,我简单描述下

给定n个字符串:str1 str2 str3 str4....,用指定分割符(比如逗号,)拼接,拼接输出结果示例

str1,str2,str3,str4.....

如果是自己动手的话,需要使用StringBuilder进行多次append操作。好在Java8提供了这样的工具类来满足这样的需求。这个工具类就是StringJoiner

使用StringJoiner解决该需求,代码如下

public class SJTest {
    @Test
    public void testSJ1() {
        StringJoiner stringJoiner = new StringJoiner(",");
        stringJoiner.add("张三").add("李四");
        System.out.println(stringJoiner.toString());
    }
}

输出结果

张三,李四

StringJoiner简介

构造方法

public StringJoiner(CharSequence delimiter);
public StringJoiner(CharSequence delimiter,
                        CharSequence prefix,
                        CharSequence suffix);
  • 一个参数的构造方法,传入一个分隔符,字符串拼接就是按照指定的分隔符拼接。
  • 三个参数的构造方法,除了传入分隔符外,还要传入前缀和后缀,用于拼接到整体字符串的首尾。示例如下
@Test
public void testSJ2() {
    StringJoiner stringJoiner = new StringJoiner("|", "(", ")");
    stringJoiner.add("张三").add("李四");
    System.out.println(stringJoiner.toString());
}

输出结果:

(张三|李四)

常用方法

  • add方法,用于添加字符串到StringJoiner
  • toString方法,用于打印字符串结果,字符串格式为:<前缀>[字符串<分隔符>字符串...]<后缀>