Junior — Middle
Was ist der Unterschied zwischen den Datentypen Single und Observable in der RxJava-Bibliothek?
sobes.tech KI
Antwort von AI
In RxJava unterscheiden sich die Typen Single und Observable hinsichtlich der Anzahl und Art der emittierten Elemente:
-
Observable kann beliebig viele Elemente (0, 1 oder viele) emittieren und kann erfolgreich oder mit Fehler enden. Es eignet sich für Datenströme, bei denen mehrere Werte im Laufe der Zeit erwartet werden.
-
Single garantiert die Emission genau eines Elements oder eines Fehlers. Es ist nützlich für Operationen, die ein einzelnes Ergebnis zurückgeben, z.B. eine Netzwerk- oder Datenbankabfrage.
Beispiel für die Verwendung von Single:
Single<String> single = Single.just("Hallo");
single.subscribe(
item -> System.out.println("Empfangen: " + item),
error -> System.err.println("Fehler: " + error)
);
Observable kann so aussehen:
Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
item -> System.out.println("Empfangen: " + item),
error -> System.err.println("Fehler: " + error),
() -> System.out.println("Abgeschlossen")
);