Java 8:从列表的列表中获取属性

San*_*Rey 5 java functional-programming stream java-8 java-stream

我是Java 8的新手,我想从联系人列表中获得第一个不为null的Phone形成人员列表,但是我遇到了不兼容的类型错误

return segadors
                .stream()
                .map(c -> c.getSegadorMedium().stream().map(cm -> Objects.nonNull(cm.getPhoneSegador())))
                .findFirst()
                .orElse(null);
Run Code Online (Sandbox Code Playgroud)

Eug*_*ene 4

  return segadors
            .stream()
            .flatMap(c -> c.getSegadorMedium().stream().filter(cm -> Objects.nonNull(cm.getPhoneSegador())))
            .findFirst()
            .orElse(null);
Run Code Online (Sandbox Code Playgroud)

你需要一张filter支票Objects.nonNull;另外,由于您要返回 a ,因此在此之前Stream您需要 aflatMap