gpt4 book ai didi

java - 为什么 StringBuilder::append 是 BiConsumer

转载 作者:搜寻专家 更新时间:2023-11-01 02:22:22 27 4
gpt4 key购买 nike

<分区>

我发现了一个使用 Stream API 的有趣示例:

Stream<String> stream = Stream.of("w", "o", "l", "f");
BiConsumer<StringBuilder, String> append = StringBuilder::append;
StringBuilder collected = stream.collect(StringBuilder::new, append, StringBuilder::append);
System.out.println(collected); //it works correctly

Stream.collect 接受三个参数:

Supplier<R> supplier, BiConsumer<R, ? super T> accumulator, BiConsumer<R, R> combiner

BiConsumer 接受两个参数并且不返回任何内容。为什么这一行编译和工作?

BiConsumer<StringBuilder, String> append = StringBuilder::append;

StringBuilder 没有 void 方法 append(java.lang.StringBuilder, java.lang.String)。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com