java8提供以下方法:
<R> R collect(Supplier<R> supplier, BiConsumer<R,? super T> accumulator,
BiConsumer<R,R> combiner)
从Javadoc开始,关于BiConsumer:表示一个接受两个输入参数并且不返回结果的操作。
根据以下代码:
String forward = s.toLowerCase().codePoints()
.filter(Character::isLetterOrDigit).collect(StringBuilder::new,
StringBuilder::appendCodePoint,
StringBuilder::append)
.toString();
collect的第二个和第三个参数如下:
据我了解,有2个使用者,它们接收参数,但不返回结果,我不知道在这种情况下如何返回字符串?
我在互联网上搜索了Google,但找不到任何解释。
我知道StringBuilder :: appendCodePoint和StringBuilder :: append的含义。但是它们被传递给2个使用者,并且使用者不应返回任何值。我对这段代码感到困惑。