We have a method, wherein we receive an Optional<SomeType>
object. If the contained SomeType
object is not null then we have to initialize a SomeOtherType
object using the fields of the SomeType
object and return that new object; otherwise we have to return null
We found multiple different solutions where we perform this task with two statements, first retrieving the optional object and then second creating the other type object e.g.
private SomeOtherType ourMethod() {
SomeType someObject = getOptionalSomeTypeFromSomeWhere().orElse(null);
return someObject != null ? new SomeOtherType(someObject.getField1(), someObject.getField2(), ...) : null;
}
Is it possible to cover this with one statement? So far we could not figure to do the null checks, accessing the fields, new object creation etc. all in one
Basically a more complex case of this question: Get field of optional object or return null