//RxJava2 Map操作符
/**
* Map操作符的作用就是将Observable所发送送的信息进行格式转换或者处理,
* 然后转变为另外一个类型,发送给Observer
*/
Observable.create(new ObservableOnSubscribe<Integer>() {
int i = 0;
@Override
public void subscribe(@NonNull ObservableEmitter<Integer> e) throws Exception {
while (i < 3) {
Log.d("MainActivity", "Observable on " + Thread.currentThread().getName() + " emit " + i);
e.onNext(i);
i++;
}
}
}).subscribeOn(Schedulers.io())
//map操作符,Function<Object,Object>,只要类型为Object的子类就可以进行转换
.map(new Function<Integer, String>() {
//这个就是转换的函数,返回的是转换结果
@Override
public String apply(@NonNull Integer integer) throws Exception {
return "This is a String Type:" + integer;
}
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<String>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(String s) {
//这里接收的就是一个String类型了
Log.d("MainActivity", "Observer on " + Thread.currentThread().getName() + " Receive:" + s);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
RxJava2操作符Map
最新推荐文章于 2024-08-16 11:58:00 发布