StringJoiner
前言
对于我们之前的拼接操作,我们的代码过于复杂,我们开始拼接有 sb.append("[");
,中间还有分情况添加sb.append(arr[i]);
或sb.append(arr[i]).append(", ");
,最后添加 sb.append("]");
,为了简化代码,我们提出StringJoiner
public class StringBuilderTest1 {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; ++i) {
if (i == arr.length - 1) {
sb.append(arr[i]);
} else {
sb.append(arr[i]).append(", ");
}
}
sb.append("]");
System.out.println(sb);
}
}
简化后的代码如下:
public class StringJoinerTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
StringJoiner sj = new StringJoiner(",", "[", "]");
for (int i = 0; i < arr.length; i++) {
sj.add(arr[i] + "");
}
System.out.println(sj);
}
}
概述
StringJoiner
跟StringBuilder
一样,也可以看成是一个容器,创建之后里面的内容是可变的。- 作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用
- JDK8出现的
StringJoiner构造方法
方法名 | 说明 |
---|---|
public StringJoiner(间隔符号) | 创建一个StringJoiner对象,指定拼接时的间隔符号 |
public StringJoiner(间隔符号,开始符号,结束符号) | 创建一个StringJoiner对象,指定拼接时的间隔符号、开始符号、结束符号 |
StringJoiner的成员方法
方法名 | 说明 |
---|---|
public StringJoiner add(任意类型) | 添加数据,并返回对象本身 |
public int length() | 返回长度(字符出现的个数) |
public String toString() | 返回一个字符串(该字符串就是拼接之后的结果) |
代码演示:
public class StringJoinerTest1 {
import java.util.StringJoiner;
public class StringJoinerTest1 {
public static void main(String[] args) {
StringJoiner sj = new StringJoiner("---", "[", "]");
sj.add("aaa").add("bbb").add("ccc");
//[aaa---bbb---ccc]
System.out.println(sj);
int len = sj.length();
//17 所有字符的总个数
System.out.println(len);
String str = sj.toString();
//[aaa---bbb---ccc]
System.out.println(str);
}
}