【发布时间】:2020-03-19 12:24:47
【问题描述】:
我有很多选项。如果流的任何元素不存在,我想返回 true,如果所有元素都存在,我想返回 false。
代码:
return Stream.of(a.getBestArrivalTime(),
a.getBestDepartureTime(),
a.getScheduledArrivalTime(),
a.getScheduledDepartureTime())
.anyMatch(Objects::isNull);
它检查元素是否为空,但它是错误的,因为它不适用于可选变量。我想我需要使用Optional::isPresent,但我不能使用它,因为Stream.of() 是一个静态方法。
流中的字段只是从对象中选择的字段。
【问题讨论】:
-
"我想我需要使用 Optional::isPresent" - 好吧,你试过了吗?为我工作。
-
anyMatch(o -> !o.isPresent())呢? -
看起来你不能分享你的原始代码。因此,请创建一个简短的、最小的可重现示例来模仿您的代码 - stackoverflow.com/help/minimal-reproducible-example
标签: java java-stream optional