Tips for using Optional effectively
Dont do,
Optional<DataType> instance = null;
do it this way,
Optional<DataType> instance = Optional.empty();
Dont do,
DataType instance = optionalInstance.get();
do it this way,
if (optionalInstance.isPresent()) {
DataType instance = optionalInstance.get();
} else {
//Handle not present
}
Dont do,
MyClass instanceOfMyClass = ... ;
Optional<DataType> optionalInstance = ... ;
if (optionalInstance.isPresent()) {
instanceOfMyClass.methodOnMyClass(optionalInstance.get(), ...);
} else {
instanceOfMyClass.methodOnMyClass(null, ...);
}
do it this way,
MyClass instanceOfMyClass = ... ;
Optional<DataType> optionalInstance = ... ;
instanceOfMyClass.methodOnMyClass(optionalInstance.orElse(null), ...);