我有一個函數可以創建一個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