java—如何用流中的空列表替换null的任何示例?

rqenqsqc  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(377)

在我下面的方法中,变量 n 可以为null,如果为null,我想返回一个空列表,例如 List.of . 我如何修改下面的方法以确保如果找到null,则为空 List 是否返回而未删除?我试着用 filter 我在下面已经注解掉了,但这只是删除了发现null的所有示例。

private List<Account> getNames(MetaData metadata){
    return metadata.getNames()
          .stream()
          .map(n -> createAccount(n, metadata.getType()))
          //.filter(n -> n.getFinalName() != null)
          .collect(Collectors.toList());
    } 

private Account createAccount(String n, Metadata metadata){...}
lf3rwulv

lf3rwulv1#

可以使用三元运算符

return metadata.getNames()
      .stream()
      .map(n -> n!=null ? createAccount(n, metadata.getType()) : /* else do something */)
      .collect(Collectors.toList());

相关问题