【发布时间】:2021-11-08 13:02:22
【问题描述】:
尝试创建过滤器,需要选择类型不等于“N”的记录。我尝试通过这种方式做到这一点,但我得到了 NullPointer。我认为这是因为在我的数据库中Type 有时为空。如何修复此过滤器以不获取 NullPointer?
Collection<Plan> plan = packet.getPlan().stream() //
.filter(item -> !item.getType().equals("N")) //
.map(packetPlan -> Plan.newInstance( //
packetPlan, //
activePlan.contains(packetPlan.getType()))) //
.collect(Collectors.toList());
【问题讨论】:
-
"我认为这是因为在我的数据库中类型有时为空。" - 正确。 “如何修复此过滤器以不获取 NullPointer” - 在获取类型之前,在您的
filter()中添加对null的检查。 -
在获取类型之前,您是否尝试过检查对象是否不为空?
-
如果我需要选择那些
Typenull 或不等于“N”的记录怎么办?然后添加此检查对我不利。
标签: java nullpointerexception null-pointer