Java 8 Lambda - фильтр потока изменить значение - PullRequest
0 голосов
/ 07 ноября 2018

Мне нужно изменить значение, полученное из фильтра

.stream()
.filter(profile -> profile.getValue().equals("test"))
.findFirst()
.map(profile -> profile.setProperty(true))

Я получаю несовместимые типы: выведенный тип не соответствует верхней границе, спасибо

1 Ответ

0 голосов
/ 08 ноября 2018
.map(profile -> profile.setProperty(true))

неверно; как это неправильно и как это исправить, решать только вам.

map ожидает, что переданная ему лямбда-функция возвращает новое значение вместо изменения существующего. Вы можете создать новое значение с property, установленным в true, или использовать ifPresent вместо map, чтобы изменить существующие значения на месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...