我有一个函数可以创建一个int流,找到不同的字符,对它们进行排序,然后将它们收集到一个新列表中,然后创建一个字符串。以下是功能。用StringBuilder收集Java 8 Int Stream
public static String longest(String s1, String s2) {
String s = s1 + s2;
return s.chars()
.distinct()
.sorted()
.collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
.toString();
}
我真的很努力工作,如何与StringBuilder的工作的收集,我在网上搜索和Java文档,但不能使任何意义。从我能做出来的事情来看,它创建了一个StringBuilder的新实例,并将每个字符添加到流中,任何人都可以给出更好的解释吗?谢谢
阅读教程:https://docs.oracle.com/javase/tutorial/collections/streams/reduction.html#collect –
重要的是要知道究竟是什么让你感到困扰。是否使用3个参数的“collect”?它是方法引用'StringBuilder :: new'和其他吗? – Tunaki
是的,这是3个收集参数令我感到困惑 – pocockn