RxJava 条件操作符
以下是一个或多个被发射的Observable或项目的评估操作符。
Sr.No. | 操作 & 描述 |
---|---|
1 | All 评估所有发出的项目以满足给定的条件。 |
2 | Amb 仅在多个Observables给出的情况下从第一个Observable发出所有项目。 |
3 | Contains 检查Observable是否发出特定项目。 |
4 | DefaultIfEmpty 如果Observable不发出任何内容,则发出默认项目。 |
5 | SequenceEqual 检查两个Observables是否发出相同的项目序列。 |
6 | SkipUntil 丢弃第一个Observable发出的项目,直到第二个Observable发出项目。 |
7 | SkipWhile 丢弃Observable发出的项目,直到给定的条件变为false。 |
8 | TakeUntil 在第二个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