获取可选对象的字段或返回null

Rud*_*koŭ 9 java nullable nullpointerexception optional java-8

我有可选对象:

Optional<Detail> newestDetail;
Run Code Online (Sandbox Code Playgroud)

我想返回newestDetail.getId()或者如果newestDetail是null返回null.

我们有更复杂的方法做到这一点,而不是遵循?

return newestDetail.isPresent()?newestDetail.get().getId():null;
Run Code Online (Sandbox Code Playgroud)

Hen*_*sen 16

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

return newestDetail.map(Detail::getId).orElse(null);
Run Code Online (Sandbox Code Playgroud)