RxJava - Operatori condizionali
Di seguito sono riportati gli operatori che valutano uno o più Osservabili o elementi emessi.
Sr.No. | Operatore e descrizione |
---|---|
1 |
All Valuta tutti gli elementi emessi per soddisfare determinati criteri. |
2 |
Amb Emette tutti gli elementi dal primo osservabile solo dati più osservabili. |
3 |
Contains Controlla se un osservabile emette un particolare elemento o meno. |
4 |
DefaultIfEmpty Emette l'elemento predefinito se Observable non emette nulla. |
5 |
SequenceEqual Controlla se due osservabili emettono la stessa sequenza di elementi. |
6 |
SkipUntil Scarta gli oggetti emessi dal primo Observable fino a quando un secondo Observable non emette un oggetto. |
7 |
SkipWhile Scarta gli elementi emessi da un Observable fino a quando una data condizione non diventa falsa. |
8 |
TakeUntil Scarta gli elementi emessi da un Observable dopo che un secondo Observable emette un elemento o termina. |
9 |
TakeWhile Scarta gli elementi emessi da un Observable dopo che una condizione specificata diventa falsa. |
Esempio di operatore condizionale
Crea il seguente programma Java utilizzando qualsiasi editor di tua scelta, ad esempio C: \> RxJava.
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);
}
}
Verifica il risultato
Compila la classe usando javac compilatore come segue -
C:\RxJava>javac ObservableTester.java
Ora esegui ObservableTester come segue:
C:\RxJava>java ObservableTester
Dovrebbe produrre il seguente output:
No Data
a