如果未找到任何内容,则以下流管道不起作用,在这种情况下,.findFirst()
会引发NPE。
我该如何预防呢?
scheduleDurationContainers.stream()
.filter(s -> s.getContainerType() == ScheduleIntervalContainerTypeEnum.BONUS).findFirst().get()
最佳答案
您可以将get()
替换为orElse(someDefault)
,如果findFirst
返回的Optional为空,则它将返回一些默认值。或者,如果您想在orElseThrow(execptionSupplier)
未找到任何内容时抛出一些特定的异常,则可以使用findFirst
。