如果未找到任何内容,则以下流管道不起作用,在这种情况下 .findFirst()
抛出一个 NPE。
我怎样才能防止这种情况?
scheduleDurationContainers.stream()
.filter(s -> s.getContainerType() == ScheduleIntervalContainerTypeEnum.BONUS).findFirst().get()
最佳答案
您可以更换 get()
与 orElse(someDefault)
, 如果 findFirst
返回的 Optional 将返回一些默认值是空的。或者您可以使用 orElseThrow(execptionSupplier)
如果你想在 findFirst
时抛出一些特定的异常没有找到任何东西。
关于lambda - java 8流-如果没有找到就处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36470643/