Я читаю о Java Streams и обнаруживаю новые вещи, когда я иду. Одной из новых вещей, которые я нашел, была функция Peek () . Почти все, что я читал на Peek, говорит, что его следует использовать для отладки ваших потоков.Consumer login = account -> account.login();
< /code>
и < /p>
Predicate loggedIn = account -> account.loggedIn();
< /code>
Почему это будет так плохо? < /p>
List accounts; //assume it's been setup
List loggedInAccount =
accounts.stream()
.peek(login)
.filter(loggedIn)
.collect(Collectors.toList());
< /code>
Теперь, насколько я могу судить, это именно то, что предназначено. It; < /p>
принимает список учетных записей < /li>
Пытается войти в каждую учетную запись < /li>
Отфильтровать любую учетную запись, которая не зарегистрирована < /li>
Собирает регистрацию в новую учетную запись < /li> < /li>
< /li>
Недостаток делать что -то подобное? Есть причина, по которой я не должен продолжать? Наконец, если не это решение, то что?.filter(account -> {
account.login();
return account.loggedIn();
})
Подробнее здесь: https://stackoverflow.com/questions/336 ... -debugging