Junior — Middle
Que funcionalidade é implementada pelo método flatMap na classe Optional?
sobes.tech IA
Resposta da IA
O método flatMap na classe Optional em Java permite aplicar uma função que retorna outro Optional ao valor dentro do Optional original, e "desempacotar" o Optional aninhado em um único nível.
Se você tem um Optional<T> e uma função T -> Optional<U>, então flatMap aplicará essa função e retornará um Optional<U>, evitando a aninhamento de Optional<Optional<U>>.
Exemplo:
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]
Se fosse usado map, o resultado seria Optional<Optional<Integer>>, o que não é conveniente para o uso posterior.