- 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 | Buffer 定期將可觀察物件中的專案收集到捆綁包中,然後發出這些捆綁包而不是專案本身。 |
| 2 | FlatMap 用於巢狀的可觀察物件。將專案轉換為可觀察物件。然後將專案展平為單個可觀察物件。 |
| 3 | GroupBy 將可觀察物件劃分為按鍵組織的可觀察物件集合,以發出不同組的專案。 |
| 4 | Map 對每個發出的專案應用一個函式來對其進行轉換。 |
| 5 | Scan 依次對每個發出的專案應用一個函式,然後發出連續的值。 |
| 6 | Window 定期將可觀察物件中的專案收集到可觀察物件的視窗中,然後發出這些視窗而不是專案本身。 |
變換運算子示例
使用您選擇的任何編輯器(例如,在 C:\> RxJava 中)建立以下 Java 程式。
ObservableTester.java
import io.reactivex.Observable;
//Using map operator to transform an Observable
public class ObservableTester {
public static void main(String[] args) {
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result = new StringBuilder();
Observable<String> observable = Observable.fromArray(letters);
observable
.map(String::toUpperCase)
.subscribe( letter -> result.append(letter));
System.out.println(result);
}
}
驗證結果
使用 **javac** 編譯器編譯該類,如下所示:
C:\RxJava>javac ObservableTester.java
現在執行 ObservableTester,如下所示:
C:\RxJava>java ObservableTester
它應該產生以下輸出:
ABCDEFG
廣告