Görünüşe göre Java'nın akış işlemlerini bir akış hattına nasıl dönüştürdüğünü anlamakta sorun yaşıyorum.
Aşağıdaki kodu yürütürken
public
static void main(String[] args) {
StringBuilder sb = new StringBuilder();
var count = Stream.of(new String[]{"1", "2", "3", "4"})
.map(sb::append)
.count();
System.out.println(count);
System.out.println(sb.toString());
}
Konsol yalnızca yazdırır 4. StringBuilderNesne halen değerine sahiptir "".
Filtre işlemini eklediğimde: filter(s -> true)
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
var count = Stream.of(new String[]{"1", "2", "3", "4"})
.filter(s -> true)
.map(sb::append)
.count();
System.out.println(count);
System.out.println(sb.toString());
}
Çıktı şu şekilde değişir:
4
1234
Bu gereksiz gibi görünen filtre işlemi, oluşturulan akış boru hattının davranışını nasıl değiştirir?