Sobes.tech
Back to questions
Junior — Middle
68

Каково назначение оператора Maybe в библиотеке RxJava и в каких случаях его используют?

Companies where asked
ЯндексЯндекс

Answer from AI

sobes.tech AI

В RxJava оператор Maybe представляет собой тип Observable, который может завершиться одним из трёх способов:

  • Эмитировать одно значение и завершиться успешно.
  • Завершиться без значения (empty).
  • Завершиться с ошибкой.

Maybe используется, когда результат может быть либо одним элементом, либо отсутствовать вовсе, например, при запросе к базе данных, где запись может быть найдена или нет.

Пример использования:

Maybe<String> maybeUser = getUserFromDb(userId);

maybeUser.subscribe(
    user -> System.out.println("User found: " + user),
    throwable -> System.err.println("Error: " + throwable),
    () -> System.out.println("User not found")
);

Здесь getUserFromDb возвращает Maybe<String>, который либо выдаст пользователя, либо завершится без значения, если пользователь не найден.