java - 如何用我的流中的空列表替换任何 null 实例?
问题描述
在我下面的方法中,变量n
可以为 null,如果它为 null,我想返回一个空列表,例如List.of
. 如何修改以下方法以确保如果找到空值,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){...}
解决方案
您可以使用三元运算符
return metadata.getNames()
.stream()
.map(n -> n!=null ? createAccount(n, metadata.getType()) : /* else do something */)
.collect(Collectors.toList());
推荐阅读
- wordpress - Aviso 同站点/Aviso 同站点
- ssis - 如何在不使用临时表的情况下使用 SSIS Kingswaysoft 合并源行
- flutter - Flutter - 设计人员/开发人员迭代流程的架构
- javascript - 如何在 vue 中导入 npm 模块?
- angular - 如何在Angular中的同一字段中显示相应类中的字段名称
- reactjs - 如何在 react-navigation 5 中从当前屏幕更新以前的屏幕参数
- asp.net-core - 返回字符串时调用 Http.PostAsync 时应用程序停止工作
- php - 如何使用 mPDF 快速高效地编写大型 PDF?
- makefile - qmake自动生成的Makefile中的混淆变量
- jsf - p:selectOneMenu 在按 F5 时没有正确刷新