Was ist der Unterschied zwischen (*)forEach
und ohne? Was ist die Ausgabe und warum? Ich weiß ohne forEach
nichts wird gedruckt ... aber warum Peek benötigt wird?Java Stream, Unterschied zwischen mit und ohne forEach
Als ich für peek
weiß, dass Sie für System.out.println
etwas mit dem resultierenden Strom zu tun, etwas zu tun ... aber es ist nicht hier getan werden muss scheint, und es läuft immer noch ....
public class NaturalNumbers
implements Supplier<Integer> {
private int i = 0;
public Integer get() { return ++i; }
}
public static void main(String[] args) {
Stream<Integer> s =
Stream.generate(new NaturalNumbers());
s.limit(5)
.peek(System.out::println)
.forEach(System.out::println);/// ׂ (*)
{
* Was ist die Ausgabe *: Warum führen Sie nicht den Code und sehen Sie selbst? Dann lese die Dokumentation und verstehe warum? Was erwarten Sie, wenn Sie forEach oder peek entfernen und was stattdessen passiert? –
ji denke, Sie müssen zuerst über Nebenwirkungen von 'für jeden '(https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html) – emotionlessbananas