假设我有以下代码
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
我无法理解为什么这种方法存在以及它背后的设计选择是什么?我没有看到任何实际应用。