Учебники

RxJava — условные операторы

Ниже приводятся операторы, которые оценивают один или несколько наблюдаемых или выбрасываемых элементов.

Sr.No. Оператор и описание
1

Все

Оценивает все предметы, выбрасываемые в соответствии с заданными критериями.

2

Amb

Испускает все предметы из первой наблюдаемой только с учетом нескольких наблюдаемых.

3

Содержит

Проверяет, издает ли Observable конкретный предмет или нет.

4

DefaultIfEmpty

Издает элемент по умолчанию, если Observable ничего не излучает.

5

SequenceEqual

Проверяет, испускают ли две наблюдаемые одну и ту же последовательность предметов.

6

SkipUntil

Сбрасывает предметы, испускаемые первой Наблюдаемой, пока вторая Наблюдаемая не испустит предмет.

7

SkipWhile

Откажитесь от предметов, испускаемых Observable, пока данное условие не станет ложным.

8

TakeUntil

Сбрасывает предметы, испускаемые Наблюдаемой после того, как вторая Наблюдаемая испускает предмет или завершает свою работу.

9

TakeWhile

Сбросить предметы, испускаемые Наблюдаемым после того, как указанное условие становится ложным.

Все

Оценивает все предметы, выбрасываемые в соответствии с заданными критериями.

Amb

Испускает все предметы из первой наблюдаемой только с учетом нескольких наблюдаемых.

Содержит

Проверяет, издает ли Observable конкретный предмет или нет.

DefaultIfEmpty

Издает элемент по умолчанию, если Observable ничего не излучает.

SequenceEqual

Проверяет, испускают ли две наблюдаемые одну и ту же последовательность предметов.

SkipUntil

Сбрасывает предметы, испускаемые первой Наблюдаемой, пока вторая Наблюдаемая не испустит предмет.

SkipWhile

Откажитесь от предметов, испускаемых Observable, пока данное условие не станет ложным.

TakeUntil

Сбрасывает предметы, испускаемые Наблюдаемой после того, как вторая Наблюдаемая испускает предмет или завершает свою работу.

TakeWhile

Сбросить предметы, испускаемые Наблюдаемым после того, как указанное условие становится ложным.

Пример условного оператора

Создайте следующую Java-программу, используя любой редактор по вашему выбору, например, в C: \> RxJava.

ObservableTester.java

import io.reactivex.Observable;
//Using defaultIfEmpty operator to operate on an Observable
public class ObservableTester  {
   public static void main(String[] args) {    
      final StringBuilder result = new StringBuilder();
      Observable.empty()
      .defaultIfEmpty("No Data")
      .subscribe(s -> result.append(s));
      System.out.println(result);
      String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
      final StringBuilder result1 = new StringBuilder();
      Observable.fromArray(letters)
      .firstElement()
      .defaultIfEmpty("No data")   
      .subscribe(s -> result1.append(s));
      System.out.println(result1);
   }
}

Проверьте результат

Скомпилируйте класс с помощью компилятора javac следующим образом:

C:\RxJava>javac ObservableTester.java

Теперь запустите ObservableTester следующим образом:

C:\RxJava>java ObservableTester

Он должен произвести следующий вывод —