如果未找到任何内容,则以下流管道不起作用,在这种情况下,.findFirst()会引发NPE。

我该如何预防呢?

scheduleDurationContainers.stream()
        .filter(s -> s.getContainerType() == ScheduleIntervalContainerTypeEnum.BONUS).findFirst().get()

最佳答案

您可以将get()替换为orElse(someDefault),如果findFirst返回的Optional为空,则它将返回一些默认值。或者,如果您想在orElseThrow(execptionSupplier)未找到任何内容时抛出一些特定的异常,则可以使用findFirst

10-04 23:23