Page 1 of 1

In Java Streams ist Peek wirklich nur zum Debuggen?

Posted: 17 Aug 2025, 17:44
by Anonymous
Ich lese über Java -Streams und entdecke neue Dinge, während ich weitergehe. Eines der neuen Dinge, die ich gefunden habe, war die Funktion Peek () . Fast alles, was ich auf Peek gelesen habe, sagt, dass es verwendet werden sollte, um Ihre Streams zu debuggen.

Code: Select all

Consumer login = account -> account.login();
< /code>

und < /p>

Predicate loggedIn = account -> account.loggedIn();
< /code>

Warum sollte das so schlimm sein? < /p>

List accounts; //assume it's been setup
List loggedInAccount =
accounts.stream()
.peek(login)
.filter(loggedIn)
.collect(Collectors.toList());
< /code>

Soweit ich kann, dass dies genau das tut, was es tun soll. Es entnimmt eine Liste von Konten. />  Was ist der Nachteil, wenn man so etwas macht? Irgendwelche Grund, warum ich nicht vorgehen sollte? Zuletzt, wenn nicht diese Lösung, was?.filter(account -> {
account.login();
return account.loggedIn();
})