android string.join java8_Java8 - 更优雅的字符串连接(join)收集器 Collectors.joining

Java8 - 更优雅的字符串连接(join)收集器 Collectors.joining

Zebe

2018-10-15

38

0

Java,Java8

StringBuilder,Collectors.joining,join,字符串

Java8中的字符串连接收集器

在JDK8中,可以采用函数式编程(使用 Collectors.joining 收集器)的方式对字符串进行更优雅的连接。 Collectors.joining 收集器 支持灵活的参数配置,可以指定字符串连接时的 分隔符,前缀 和 后缀 字符串。

代码参考如下:

// 定义人名数组

final String[] names = {"Zebe", "Hebe", "Mary", "July", "David"};

Stream stream1 = Stream.of(names);

Stream stream2 = Stream.of(names);

Stream 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);

程序输出结果如下:

[Zebe, Hebe, Mary, July, David]

Zebe | Hebe | Mary | July | David

Zebe -> Hebe -> Mary -> July -> David

一般的做法(不推荐)

在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());

打赏,鼓励作者

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值