September 2019
Intermediate to advanced
816 pages
18h 47m
English
The Optional.map() and flatMap() methods are convenient for transforming an Optional value.
The map() method applies the function argument to the value, then returns the result wrapped in an Optional object. The flatMap() method applies the function argument to the value and then returns the result directly.
Let's assume that we have Optional<String>, and we want to transform this String from lowercase into uppercase. An uninspired solution can be written as follows:
Optional<String> lowername = ...; // may be empty as well// AvoidOptional<String> uppername;if (lowername.isPresent()) { uppername = Optional.of(lowername.get().toUpperCase());} else { uppername = Optional.empty();}
A more inspired ...