解决java8 stream无法复用问题(为要执行的每一个终端操作创建一个新的Stream链)...

本文介绍了一种在Java8中实现Stream多次终端操作的方法,即通过Supplier创建可重复使用的Stream链,避免了直接在Stream上进行多次终端操作导致的异常问题。

java8 stream只能进行一次终止操作,第二次终止操作异常。下面提供一种可重复使用stream的方法(为要执行的每一个终端操作创建一个新的Stream链):

Supplier<Stream<String>> streamSupplier =
    () -> Stream.of("d2", "a2", "b1", "b3", "c")
            .filter(s -> s.startsWith("a"));

streamSupplier.get().anyMatch(s -> true);   // ok
streamSupplier.get().noneMatch(s -> true);  // ok

转载于:https://my.oschina.net/u/2485283/blog/1862870

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值