RxJava - 條件運算子



以下是評估一個或多個可觀察物件或發出的專案的運算子。

序號 運算子及描述
1

All

評估所有發出的專案是否滿足給定條件。

2

Amb

僅在多個可觀察物件中,發出第一個可觀察物件的所有專案。

3

Contains

檢查可觀察物件是否發出特定專案。

4

DefaultIfEmpty

如果可觀察物件不發出任何內容,則發出預設專案。

5

SequenceEqual

檢查兩個可觀察物件是否發出相同的專案序列。

6

SkipUntil

丟棄第一個可觀察物件發出的專案,直到第二個可觀察物件發出一個專案。

7

SkipWhile

丟棄可觀察物件發出的專案,直到給定條件變為假。

8

TakeUntil

在第二個可觀察物件發出一個專案或終止後,丟棄可觀察物件發出的專案。

9

TakeWhile

在指定條件變為假後,丟棄可觀察物件發出的專案。

條件運算子示例

使用您選擇的任何編輯器在例如 C:\> RxJava 中建立以下 Java 程式。

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

它應該產生以下輸出:

No Data
a
廣告

© . All rights reserved.