【发布时间】:2015-07-30 07:22:36
【问题描述】:
接口Stream<T>中有一个重载方法collect(),签名如下:
<R> R collect(Supplier<R> supplier,
BiConsumer<R,? super T> accumulator,
BiConsumer<R,R> combiner)
还有另一个版本的collect(Collector<? super T,A,R> collector),它接收具有前面三个函数的对象。 combiner对应的接口Collector的属性签名为BinaryOperator<A> combiner()。
在后一种情况下,Java API 8 声明:
组合器函数可以将状态从一个参数折叠到另一个参数并返回,或者可以返回一个新的结果容器。
为什么以前的collect 方法也没有收到BinaryOperator<R>?
【问题讨论】:
标签: java java-8 java-stream