你只会用 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
博客介绍了 Java 8 中用于拼接带分隔符字符串的神器 StringJoiner。相比 StringBuilder/ StringBuffer,使用 StringJoiner 更简单,可一次性处理分隔符。还提到了 String.join(),它是对 StringJoiner 封装的 API,能传入动态参数或迭代器,可用于多个值直接拼接和 list 集合拼接。
6754

被折叠的 条评论
为什么被折叠?



