一、 简介:
StringJoiner是Java 8新增的一个API,他是基于StringBuilder实现,用于实现对字符串之间通过分隔符拼接的场景。
例如下面采用StringBuilder写的一个用于将数组[1, 2, 3, 4]以这样的形式打印出来
public class StringJoinerTest2 {
public static void main(String[] args) {
int[] arry={1,2,3,4};
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arry.length; i++) {
//判断是否是数组中的最后一个元素
if(i!=arry.length-1){
sb.append(arry[i]+", ");
}
else {
sb.append(arry[i]+"]");
}
}
System.out.println(sb);
}
}
最后打印出sb为[1, 2, 3, 4]
但是使用StringBuilder类进行这种带有分隔符“,”的形式写起来会非常麻烦,还要进行判断
因此jdk8中出现StringJoiner类专门用于解决此问题
二、StringJoiner中的构造方法
public StringJoiner(间隔符号):创建一个StringJoiner对象,指定拼接时的间隔符号
public class StringJoinerTest3 {
public static void main(String[] args) {
StringJoiner sj = new StringJoiner("---");
sj.add("1").add("2").add("3");
System.out.println(sj); //1---2---3
}
}
只是指定了拼接时候的间隔符,因此打印出来的为:1—2—3
public StringJoiner(间隔符号,开始符号,结束符号):创建一个StringJoiner对象,指定拼接时的间隔符号,开始符号和结束符号
public class StringJoinerTest3 {
public static void main(String[] args) {
StringJoiner sj = new StringJoiner("---","[","]");
sj.add("1").add("2").add("3");
System.out.println(sj); //[1---2---3]
}
}
构造方法中添加了间隔符,开始与结束符,所以打印出的字符串带有开始和结束符号:[1—2—3]
三、StringJoiner中的成员方法
public StringJoiner add(添加的内容):添加数据,并返回对象本身
public int length():返回长度(字符出现的个数)
public String toString():返回一个字符串,该字符串时拼接后的额结果
public class StringJoinerTest3 {
public static void main(String[] args) {
StringJoiner sj = new StringJoiner("---","[","]");
sj.add("1").add("2").add("3");
System.out.println(sj); //[1---2---3]
String str = sj.toString();
System.out.println(str); //[1---2---3]
}
}
sj是StringJoiner类型,将sj转换为字符串String类型str便可以使用字符串类型中的相关方法了