问题
I have optional object:
Optional<Detail> newestDetail;
I would like to return newestDetail.getId() or if newestDetail is null return null.
Do we have more sophisticated approach of doing this, than following?
return newestDetail.isPresent()?newestDetail.get().getId():null;
回答1:
Map the value to an Optional with the id field and turn that one into a null value if it is empty:
return newestDetail.map(Detail::getId).orElse(null);
来源:https://stackoverflow.com/questions/47714105/get-field-of-optional-object-or-return-null