Java 8 Collectors.toList源代码

时间:2016-08-07 17:50:24

标签: java-8 java-stream collectors

在java源代码中,Collectors.toList定义为:

public static <T>
Collector<T, ?, List<T>> toList() {
    return new CollectorImpl<>((Supplier<List<T>>) ArrayList::new, List::add,
                               (left, right) -> { left.addAll(right); return left; },CH_ID);
}

对应的CollectorImpl构造函数

CollectorImpl(Supplier<A> supplier,
                      BiConsumer<A, T> accumulator,
                      BinaryOperator<A> combiner,
                      Set<Characteristics> characteristics) {
            this(supplier, accumulator, combiner, castingIdentity(), characteristics);
        }

我们将List::add视为CollectorImpl的构造函数的第二个参数,我想知道它是如何映射到类型为累加器的 BiConsumer<A,T>,因为BiConsumer使用两个参数而List::add仅消耗一个参数。我在这里缺少什么?

0 个答案:

没有答案