Java8的StringJoiner让字符串拼接更简单
你只会用 StringBuilder/ StringBuffer 拼接字符串?
那你就 OUT 了!!
如果需要拼接分隔符的字符串,建议使用 Java 8 中的这款拼接神器:StringJoiner,非常实用,你值得拥有。
StringJoiner 基本使用
三段式由 "," 分隔的字符串,在 Java 8 之前要使用 StringBuilder/ StringBuffer 进行拼接,如:
StringBuilder sb = new StringBuilder();
sb.append("zhang");
sb.append(",");
sb.append("sheng");
sb.append(",");
sb.append("qiang");
String str = sb.toString(); // zhang,sheng,qiang
Java 8 之后有了 StringJoiner,这件事件就变得更简单,分隔符这种全部一次性交给 StringJoiner 即可。
// , 号是分隔符
StringJoiner stringJoiner = new StringJoiner(",");
stringJoiner.add("zhang");
stringJoiner.add("sheng");
stringJoiner.add("qiang");
System.out.println(stringJoiner.toString()); // zhang,sheng,qiang
还可以这样构造 值依次 是分隔符 ,前缀 , 后缀
//值依次是分割符 , 前缀 ,后缀
StringJoiner stringJoiner = new StringJoiner(",", "[", "]");
stringJoiner.add("zhang");
stringJoiner.add("sheng");
System.out.println(stringJoiner.toString()); // [zhang,sheng]
String.join()
String.join() 这是针对 StringJoiner 又封装了一层的 API,同样出自 Java 8,可以传入动态参数或者迭代器。
多个值直接拼接
//分隔符 传多个字符串拼接
String str = String.join(",", "zhang", "sheng", "qiang");
System.out.println(str); // zhang,sheng,qiang
list集合拼接
List<String> list=new ArrayList<>();
list.add("zhang");
list.add("sheng");
list.add("qiang");
String str = String.join(",",list);
System.out.println(str); // zhang,sheng,qiang