- RxJava 教程
- RxJava - 首頁
- RxJava - 概述
- RxJava - 環境搭建
- 可觀察物件
- RxJava - 可觀察物件的工作原理
- RxJava - 建立可觀察物件
- RxJava - Single 可觀察物件
- RxJava - Maybe 可觀察物件
- RxJava - Completable 可觀察物件
- RxJava - 使用 CompositeDisposable
- 運算子
- RxJava - 建立運算子
- RxJava - 變換運算子
- RxJava - 過濾運算子
- RxJava - 組合運算子
- RxJava - 實用運算子
- RxJava - 條件運算子
- RxJava - 數學運算子
- RxJava - 可連線運算子
- 主題
- RxJava - 主題
- RxJava - PublishSubject
- RxJava - BehaviorSubject
- RxJava - ReplaySubject
- RxJava - AsyncSubject
- 排程器
- RxJava - 排程器
- RxJava - Trampoline 排程器
- RxJava - NewThread 排程器
- RxJava - Computation 排程器
- RxJava - IO 排程器
- RxJava - From 排程器
- 其他
- RxJava - 緩衝
- RxJava - 視窗化
- RxJava 有用資源
- RxJava - 快速指南
- RxJava - 有用資源
- RxJava - 討論
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
廣告