Junior — Middle
Akú funkcionalitu implementuje metóda flatMap v triede Optional?
sobes.tech AI
Odpoveď od AI
Metóda flatMap v triede Optional v jazyku Java umožňuje aplikovať funkciu, ktorá vracia iný Optional, na hodnotu vo vnútri pôvodného Optional, a "rozbaliť" zanořený Optional na jednu úroveň.
Ak máte Optional<T> a funkciu T -> Optional<U>, potom flatMap túto funkciu aplikuje a vráti Optional<U>, čím sa vyhnete zanozeniu Optional<Optional<U>>.
Príklad:
Optional<String> optional = Optional.of("123");
Optional<Integer> result = optional.flatMap(s -> {
try {
return Optional.of(Integer.parseInt(s));
} catch (NumberFormatException e) {
return Optional.empty();
}
});
System.out.println(result); // Optional[123]
Ak by bol použitý map, výsledok by bol Optional<Optional<Integer>>, čo je menej praktické pre ďalšiu prácu.