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
极客教程