【发布时间】:2019-10-20 12:16:00
【问题描述】:
我们的情况是,列表中有损坏的数据 X,并且该损坏的数据 X 的存在阻止了对与 X 相同类型的 Y 数据的操作。这是不正常的,我们必须屏蔽代码,使损坏数据X的存在不会阻塞其他有效数据的使用。
我将 Optional 与操作过滤器一起使用,如果名称为 null 我们跳过过滤器。
Personne personne = null;
String name= personne.getName();
try {
Optional<Personne> abstractPersonne=
APIPersonne.getAllPersonne(currentPersonne.getMethod())
.stream()
.filter(e -> e.getName() != null && e.getName().equals(name))
.findAny();
if (abstractPersonne.isPresent())
personne= abstractPersonne.get();
}
有没有办法避免 (e-> e.getName != null) 的测试?
【问题讨论】:
-
确保它不是
null,你可以避免它。如果它可以是null,那么除非你遇到 NPE,否则你必须检查它。
标签: java java-stream optional