如何在我的流中用空列表替换任何 null 实例?
How can I replace any instances of null with an empty List in my stream?
在我下面的方法中,变量 n
可以为空,如果它为空,我想 return 一个空列表,例如 List.of
。我如何修改以下方法以确保如果找到 null,则空 List
被 returned 而不是删除?我尝试使用我在下面注释掉的 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());
在我下面的方法中,变量 n
可以为空,如果它为空,我想 return 一个空列表,例如 List.of
。我如何修改以下方法以确保如果找到 null,则空 List
被 returned 而不是删除?我尝试使用我在下面注释掉的 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());