【发布时间】:2021-02-24 08:30:24
【问题描述】:
我有以下代码
item.getSubCategory().stream().map(category -> {
return subCategoriesList.add(new SubCategoryViewModel(
category.get(String.format("_%s",categoryProperties[0])).toString(),
category.get(categoryProperties[2]).toString(),
category.get(categoryProperties[3]).toString()));
}).collect(Collectors.toList());
item.getSubCategory() 是一个类别模型列表。现在,如果 getSubCategory 上出现 null,我们会得到一个空指针异常,并且不能对其应用 Steam。在将流应用到列表之前,是否有更好的方法来处理对列表的空检查。
我不想使用IF 语句来检查getSubCategory 上的空值。 java steam API有什么更好的方法吗?
【问题讨论】:
-
Optional.ofNullable(item.getSubCategory()).orElse(List.of()).stream()... -
是:修复 getSubCategory 不返回
null。 -
……顺便说一下,
String.format("_%s",categoryProperties[0])是一种非常昂贵的有效方式来有效地执行"_" + categoryProperties[0]。
标签: java java-8 java-stream