为什么收集器接口的合并器与重载收集方法不一致?
接口中有一个重载方法 ,具有以下签名:collect()
Stream<T>
<R> R collect(Supplier<R> supplier,
BiConsumer<R,? super T> accumulator,
BiConsumer<R,R> combiner)
还有 另一个版本 ,它接收具有前三个函数的对象。对应于 的接口的属性具有 签名 。collect(Collector<? super T,A,R> collector)
Collector
combiner
BinaryOperator<A> combiner()
在后一种情况下,Java API 8 指出:
合并器函数可以将状态从一个参数折叠到另一个参数并返回该参数,或者可以返回新的结果容器。
为什么前一种方法也不收到?collect
BinaryOperator<R>