Поскольку это трудоемкая операция, ее можно использовать только с методами, которые на самом деле ничего не возвращают;то есть использование forEach
обеспечивает работу терминала, в которой вы не получите возвращаемое значение.
Если вы хотите проверить, что свойство установлено так, как вы хотите, вы должныпридется снова проверять элементы.
users.stream().filter(u -> u.count > 0)
.allMatch(u -> u.getProperty().equals("value"));
Хотя это говорит о паранойе больше, чем о чем-либо еще;если setProperty
не имеет какого-либо другого побочного эффекта, который не выставлен здесь , то установщик должен всегда установить значение.Я написал бы выше в модульном тесте для целей проверки, но не в производственном коде.