jdk1.8 新特性 StringJoiner的使用

69 篇文章 1 订阅
55 篇文章 3 订阅

StringJoiner是1.8版本的新加String辅助类

用StringBulider做分隔很繁琐 可以使用StringJoiner
使用StringBulider

StringBuilder sb = new StringBulider();
IntStream.range(1,10).forEach(i->{
sb.append(i+"");
if(i<10) sb.append(",");
})

这样的操作相对繁琐

使用StringJoiner

StringJoiner sj = new StringJoiner(",");
IntStream.range(1.10).forEach(i->sj.add(i+""))

其它使用较少的功能
setEmptyValue() 默认情况下是前缀加后缀 用户可自定义emptyValue
merge(StringJoiner other) 合并另外一个joiner
length 当前长度 为空emptyValue的长度

其它使用

  1. 维护一个list,toString的时候join一下就好了,优势:实现方便 缺点:list太浪费空间(扩容时按系数扩容的)
  2. 在StringBuilder基础上改造(jdl实现方法就是以组合的形式增强的StringBuilder)

总结

  1. 基于StringBuilder实现,add时酒把prefix和分隔符给加上,,suffix永远都不加,直到toString和length调用时才加入计算。这样带来的merge操作实现的极大便利性。
  2. emptyValue待深入学习
  3. Objects这个工具方法是返回的校验的值本身。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值