Rxjava-conditional-operators
提供:Dev Guides
RxJava-条件演算子
以下は、1つまたは複数のObservableまたは放出されたアイテムを評価する演算子です。
Sr.No. | Operator & Description |
---|---|
1 |
All 指定された基準を満たすために放出されたすべてのアイテムを評価します。 |
2 |
Amb 複数のObservableを指定した場合にのみ、最初のObservableからすべてのアイテムを発行します。 |
3 |
Contains Observableが特定のアイテムを放出するかどうかを確認します。 |
4 |
DefaultIfEmpty Observableが何も発行しない場合、デフォルトのアイテムを発行します。 |
5 |
SequenceEqual 2つのObservableが同じアイテムシーケンスを放出するかどうかをチェックします。 |
6 |
SkipUntil 2番目のObservableがアイテムを放出するまで、最初のObservableによって放出されたアイテムを破棄します。 |
7 |
SkipWhile 特定の条件がfalseになるまで、Observableによって発行されたアイテムを破棄します。 |
8 |
TakeUntil 2番目のObservableがアイテムを発行または終了した後、Observableが発行したアイテムを破棄します。 |
9 |
TakeWhile 指定された条件がfalseになった後、Observableによって発行されたアイテムを破棄します。 |
条件演算子の例
C:\> RxJavaなどで選択したエディターを使用して、次のJavaプログラムを作成します。
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);
}
}
結果を確認する
次のように javac コンパイラを使用してクラスをコンパイルします-
C:\RxJava>javac ObservableTester.java
今ObservableTesterを次のように実行します-
C:\RxJava>java ObservableTester
それは次の出力を生成する必要があります-
No Data
a