जावा 8 में स्कैला के महान foldLeft
के बराबर क्या है?जावा में स्कैला के फोल्ड लाइफ के समतुल्य 8
मुझे यह सोचने का लुत्फ था कि यह reduce
था, लेकिन इसे कम करने के लिए समान प्रकार के कुछ प्रकार को वापस करना होगा।
उदाहरण: new StringBuilder("")
इस प्रकार, किसी को भी मुझे foldLeft
के समुचित बराबर को इंगित कर सकता है/मेरे कोड को ठीक:
import java.util.List;
public class Foo {
// this method works pretty well
public int sum(List<Integer> numbers) {
return numbers.stream()
.reduce(0, (acc, n) -> (acc + n));
}
// this method makes the file not compile
public String concatenate(List<Character> chars) {
return chars.stream()
.reduce(new StringBuilder(""), (acc, c) -> acc.append(c)).toString();
}
}
उपरोक्त कोड में समस्या acc
umulator है?
एफवाईआई: भाषा का नाम "स्कैला" है, न कि "स्कैला"। (मेरा मानना है कि "स्कैला" नामक एक अलग भाषा है, जो संभवतः आपका मतलब नहीं है।) –
संबंधित http://stackoverflow.com/questions/30736587/builder-pattern-with-a-java-8- स्ट्रीम – Tunaki