汇泽网站建设,wordpress萌主题,机械订单加工网,nginx wordpress伪静态Java8中的字符串连接收集器
在JDK8中#xff0c;可以采用函数式编程#xff08;使用 Collectors.joining 收集器#xff09;的方式对字符串进行更优雅的连接。 Collectors.joining 收集器 支持灵活的参数配置#xff0c;可以指定字符串连接时的 分隔符#xff0c;前缀 和…
Java8中的字符串连接收集器
在JDK8中可以采用函数式编程使用 Collectors.joining 收集器的方式对字符串进行更优雅的连接。 Collectors.joining 收集器 支持灵活的参数配置可以指定字符串连接时的 分隔符前缀 和 后缀 字符串。
代码参考如下
// 定义人名数组
final String[] names {Zebe, Hebe, Mary, July, David};
StreamString stream1 Stream.of(names);
StreamString stream2 Stream.of(names);
StreamString stream3 Stream.of(names);
// 拼接成 [x, y, z] 形式
String result1 stream1.collect(Collectors.joining(, , [, ]));
// 拼接成 x | y | z 形式
String result2 stream2.collect(Collectors.joining( | , , ));
// 拼接成 x - y - z] 形式
String result3 stream3.collect(Collectors.joining( - , , ));
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
1234567891011121314程序输出结果如下
[Zebe, Hebe, Mary, July, David]
Zebe | Hebe | Mary | July | David
Zebe - Hebe - Mary - July - David
123一般的做法不推荐
在JAVA8出现之前我们通常使用循环的方式来拼接字符串这样做不仅代码冗长丑陋而且需要仔细阅读代码才知道代码的功能例如下面的代码
final String[] names {Zebe, Hebe, Mary, July, David};
StringBuilder builder new StringBuilder();
for (int i 0; i names.length; i) {if (builder.length() 1) {builder.append(,);}builder.append(names[i]);
}
System.out.println(builder.toString());
123456789本文首发于个人独立博客文章链接http://www.zebe.me/java-8-string-join-collector