java8 StringJoiner的用法
代码
import java.util.ArrayList;
import java.util.List;
import java.util.StringJoiner;
public class Java8StringJoinTest {
public static void main(String[] args) {
testStringJoiner();
}
public static void testStringJoiner() {
// 参数分别为, 每个元素间分隔符, 前缀, 后缀
StringJoiner stringJoiner = new StringJoiner("','", "'", "'");
stringJoiner.setEmptyValue("(当前)当里面没有元素时,setEmptyValue是有效的");
System.out.println(stringJoiner.toString());
List<String> list = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
list.add(String.valueOf(i));
stringJoiner.add(list.get(i));
}
stringJoiner.setEmptyValue("当执行过add方法后,setEmptyValue就无效了。如果没有执行add方法,会将前面的setEmptyValue覆盖掉");
// 感觉它的应用场景是可以设置一个默认的值。
// 比如:循环list,将list中的元素变成sql中in ()中的元素,处理成一个字符串
// 如果循环的这个list没有合适的元素,这就导致stringJoiner是"",再往下执行sql就需要判断,
// 这时候设置一个默认的值'1',就可以防止后面执行sql报错, 就算不满足条件也没有关系
// 这样看来,就像是设置一个默认的 不满足条件的值,只是为了防止报错,或者说减少后面的判断
System.out.println(stringJoiner.toString());
}
}
输出
当里面没有元素时,setEmptyValue是有效的
'0','1','2','3','4','5','6','7','8','9'