Search code examples
javanullpointerexceptionjava-8option-typenullable

Get field of optional object or return null


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;

Solution

  • 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);