【发布时间】:2020-07-28 10:37:24
【问题描述】:
我想从中获取以下数据:
MyObject.builder()
.lastUpdated(tuple.getT2().isEmpty() ? null : tuple.getT2().get(0).getLastUpdated().toInstant())
...
...
.build()
tuple.getT2().get(0).getLastUpdated() 可以为空...
我试过了:
.lastUpdated(
tuple.getT2().stream()
.map(Optional::ofNullable)
.findFirst()
.flatMap(Function.identity())
.map(metadata -> metadata.getLastUpdated().toInstant()) //NPE
.orElse(null))
但是我得到了 NPE 在行中
.map(metadata -> metadata.getLastUpdated().toInstant())
【问题讨论】:
-
也许
.map(metadata->metadata.getLastUpdated()).map(date->date.toInstant()).orElse(null)? -
那么问题是什么?
标签: java java-stream optional