В чём разница: CompletableFuture: thenApply vs thenCompose vs thenCombine?

Ответ

thenApply — преобразование результата. thenCompose — flatMap для CompletableFuture (нужен, когда лямбда возвращает CompletableFuture). thenCombine — объединение двух.

Разбор: Правильно: thenApply — преобразование результата (T→R), thenCompose — flatMap, когда лямбда возвращает CompletableFuture (T→CF<R>), thenCombine — объединение результатов двух независимых CF. Ловушка — перепутать местами роли thenApply и thenCompose: если внутри thenApply вернуть CF, получится вложенный CF<CF<R>>, который как раз и разворачивает thenCompose.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться