Использование потоков возвращает null, если значение равно false, иначе возвращает true - PullRequest
0 голосов
/ 21 июня 2020

У меня есть код ниже

 headers.stream().map(MyHeader::getIsCancelled).iterator(),

getIsCancelled возвращает логическое значение true / false.

Я хочу изменить приведенный выше код, чтобы он возвращал null, если значение false, иначе верните true. Должен ли я использовать фильтр для фильтрации истинного значения и автоматически получить истинное или нулевое значение?

1 Ответ

1 голос
/ 21 июня 2020

Используя filter, вы можете удалить значения false вместо замены их на null.

Если вы хотите заменить значения false на null, вы все равно должны используйте map:

headers.stream().map(h -> h.getIsCancelled() ? true : null).iterator()

Я считаю, что это должно работать, но если нет, вы можете заменить true на Boolean.TRUE.

...