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
廣告

© . All rights reserved.