android string.join java8_Java8 新特性, 终于可以使用Join Strings了

如果你之前有使用过其他的编程语言,那你肯定或多或少听说过 或者用过 Join() 这个方法。 但是如果你在使用Java的话,那么很遗憾你肯定没有用过这个方法,因为Java标准的类库给你提供了如何构建一个GUI 应用,访问数据库,通过网络发送数据,做一些XML转换或者调用一些远程方法. 但是很遗憾, java并没有提供任何可以Join一个字符串合集(collection of strings) 的方法。所以当有有这种需求的时候,你必须要使用第三方类库做如下的工作:

但是现在Java8 新特性开始支持 join string collection 了。

Java8 添加了一个新的类叫做 StringJoiner。 正如这个类名所示,我们能够通过使用它来完成:

是不是很酷呢, 那么下面我们一起来探索一下,如何使用这个 StringJoiner 吧。

//字符串用 ,分割

StringJoiner joiner = new StringJoiner(",");

joiner.add("foo");

joiner.add("bar");

joiner.add("baz");

String joined = joiner.toString(); // "foo,bar,baz"

// add() calls can be chained

joined = new StringJoiner("-")

.add("foo")

.add("bar")

.add("baz")

.toString(); // "foo-bar-baz"

同时在 String这个类中我们可以使用 static join() 方法。

// join(CharSequence delimiter, CharSequence... elements)

String joined = String.join("/", "2014", "10", "28" ); // "2014/10/28"

// join(CharSequence delimiter, Iterable extends CharSequence> elements)

List list = Arrays.asList("foo", "bar", "baz");

joined = String.join(";", list); // "foo;bar;baz"

对于新的 Stream Api,我们也可以同时使用 Join Collector。

List list = Arrays.asList(

new Person("John", "Smith"),

new Person("Anna", "Martinez"),

new Person("Paul", "Watson ")

);

String joinedFirstNames = list.stream()

.map(Person::getFirstName)

.collect(Collectors.joining(", ")); // "John, Anna, Paul"

是不是很棒,那你还会再去用老式的拼接字符串么? 不知道你会不会,我反正不会了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值