RxJava2操作符Map

来源:互联网 发布:python 大写转小写 编辑:程序博客网 时间:2024/05/04 15:57
        //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() {                    }                });

0 0
原创粉丝点击