Rxjava 简明教程
RxJava - Conditional Operators
以下是用于计算一个或多个 Observable 或已发出项的运算符。
Sr.No. |
Operator & Description |
1 |
All 评估所有已发出的项,以满足给定条件。 |
2 |
Amb 仅发出多个 Observable 的第一个 Observable 的所有项。 |
3 |
Contains 检查 Observable 是否发出了特定项。 |
4 |
DefaultIfEmpty 如果 Observable 什么都没有发出,则发出默认项。 |
5 |
SequenceEqual 检查两个 Observable 是否发出相同的项序列。 |
6 |
SkipUntil 丢弃第一个 Observable 发出的项,直至第二个 Observable 发出一个项。 |
7 |
SkipWhile 在给定条件变为假之前,丢弃 Observable 发出的项。 |
8 |
TakeUntil 在第二个 Observable 发出一个项或终止后,丢弃 Observable 发出的项。 |
9 |
TakeWhile 在指定条件变为假后,丢弃 Observable 发出的项。 |
Conditional Operator Example
在任意编辑器中使用任何您选择的语言(如 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);
}
}