Java 8: получение свойства из списка в списке - PullRequest
5 голосов
/ 08 июля 2019

Я новичок в Java 8, и я хочу получить первый телефон, который не равен NULL, из списка контактов из списка людей, но я получаю сообщение о несовместимых типах

return segadors
                .stream()
                .map(c -> c.getSegadorMedium().stream().map(cm -> Objects.nonNull(cm.getPhoneSegador())))
                .findFirst()
                .orElse(null);

1 Ответ

4 голосов
/ 08 июля 2019
  return segadors
            .stream()
            .flatMap(c -> c.getSegadorMedium().stream().filter(cm -> Objects.nonNull(cm.getPhoneSegador())))
            .findFirst()
            .orElse(null);

Вам нужно filter в этом Objects.nonNull чеке; плюс, поскольку вы возвращаете Stream, вам нужно flatMap непосредственно перед этим

...