1. Обзор
API-интерфейсы map()
и flatMap() основаны
на функциональных языках. В Java 8 мы можем найти их в Optional
, Stream
и в CompletableFuture
(хотя и под немного другим именем).
Потоки
представляют собой последовательность объектов, а необязательные — это классы, представляющие значение, которое может присутствовать или отсутствовать. Среди других агрегатных операций у нас есть методы map()
и flatMap()
.
Несмотря на то, что оба имеют одинаковые типы возврата, они совершенно разные. Давайте объясним эти различия, проанализировав некоторые примеры потоков и опций.