为什么Java的StringJoiner合并方法复制分隔符?

时间:2016-10-05 03:14:12

标签: java string

假设我有以下代码

import java.util.StringJoiner;

public class HelloWorld {
    public static void main(String[] args) {
        StringJoiner SJ1 = new StringJoiner(", ");
        StringJoiner SJ2 = new StringJoiner("* ");

        for(int i = 0; i < 5; i ++) {
            SJ1.add(Integer.toString(i));
            SJ2.add(Integer.toString(i + 5));
        }

        System.out.println(SJ1);
        System.out.println(SJ2);

        SJ1.merge(SJ2);
        System.out.println(SJ1);
    }
}

第一个print语句产生字符串1,2,3,4

第二个print语句产生字符串5 * 6 * 7 * 8 * 9

第三个print语句(合并操作)产生: 1,2,3,4,5 * 6 * 7 * 8 * 9

为什么merge只是执行两个字符串的串联?我希望合并操作输出1,2,3,4,5,6,7,8,9

我无法理解为什么这种方法存在以及它背后的设计选择是什么?我没有看到任何实际应用。

0 个答案:

没有答案