RxJava 转换操作符
以下是用于转换由Observable发出的项目的操作符。
序号 | 运算符和说明 |
---|---|
1 | Buffer 定期将Observable中的项目收集到捆绑中,然后发射捆绑而不是项目。 |
2 | FlatMap 在嵌套的Observables中使用。将项目转换为Observables。然后将项目扁平化为单个Observable。 |
3 | GroupBy 将Observable划分为按键组织的一组Observables,以发射不同组的项目。 |
4 | Map 对每个发射的项目应用一个函数进行转换。 |
5 | Scan 对每个连续发出的项目应用一个函数,然后发射连续的值。 |
6 | Window 定期将Observable中的项目收集到Observable窗口中,然后发射窗口而不是项目。 |
转换操作符示例
使用您选择的任何编辑器,在C:> RxJava目录下创建以下Java程序。
ObservableTester.java
import io.reactivex.Observable;
//Using map operator to transform an Observable
public class ObservableTester {
public static void main(String[] args) {
String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
final StringBuilder result = new StringBuilder();
Observable<String> observable = Observable.fromArray(letters);
observable
.map(String::toUpperCase)
.subscribe( letter -> result.append(letter));
System.out.println(result);
}
}
验证结果
使用 javac 编译器编译该类,步骤如下:
C:\RxJava>javac ObservableTester.java
现在按照以下方式运行ObservableTester −
C:\RxJava>java ObservableTester
它应该产生以下输出 −
ABCDEFG