获取可选对象的字段或 return null

Get field of optional object or return null

我有可选对象:

Optional<Detail> newestDetail;

我想 return newestDetail.getId() 或者如果 newestDetail 为空 return null.

我们是否有比以下更复杂的方法来执行此操作?

return newestDetail.isPresent()?newestDetail.get().getId():null;

将值映射到带有 id 字段的 Optional,如果它为空,则将其转换为 null 值:

return newestDetail.map(Detail::getId).orElse(null);