RxJava - Operatoren transformieren
Im Folgenden sind die Operatoren aufgeführt, mit denen ein von einem Observable ausgegebenes Element transformiert wird.
| Sr.Nr. | Betreiber & Beschreibung | 
|---|---|
| 1 | Buffer Sammelt regelmäßig Elemente von Observable in Bündel und gibt dann die Bündel anstelle von Elementen aus. | 
| 2 | FlatMap Wird in verschachtelten Observablen verwendet. Wandelt Elemente in Observables um. Reduzieren Sie dann die Elemente zu einem einzigen Observable. | 
| 3 | GroupBy Teilen Sie eine Observable in eine Reihe von Observables ein, die nach Schlüsseln organisiert sind, um verschiedene Gruppen von Elementen auszugeben. | 
| 4 | Map Wenden Sie auf jedes ausgegebene Element eine Funktion an, um es zu transformieren. | 
| 5 | Scan Wenden Sie nacheinander eine Funktion auf jedes ausgegebene Element an und geben Sie dann den nachfolgenden Wert aus. | 
| 6 | Window Sammelt regelmäßig Elemente aus Observable in Observable-Fenster und gibt dann die Fenster anstelle von Elementen aus. | 
Beispiel für einen transformierenden Operator
Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl, z. B. in C: \> RxJava.
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);
   }
}Überprüfen Sie das Ergebnis
Kompilieren Sie die Klasse mit javac Compiler wie folgt -
C:\RxJava>javac ObservableTester.javaFühren Sie nun den ObservableTester wie folgt aus:
C:\RxJava>java ObservableTesterEs sollte die folgende Ausgabe erzeugen -
ABCDEFG