RxJava转换操作符cast

时间:2023-01-28 17:46:27

介绍一个异常ClassCastException:类型转换异常,cast操作符就是将不同数据类型转换成指定类型.

RxJava转换操作符cast


 Observable.range(1,5).cast(Integer.class).subscribe(new Observer<Integer>() {
            @Override
            public void onCompleted() {
                LogUtils.d("------>onCompleted()");
            }

            @Override
            public void onError(Throwable e) {
                LogUtils.d("------>onError()" + e);
            }

            @Override
            public void onNext(Integer i) {
                LogUtils.d("------>onNext()" + i);
            }
        });
    }


结果:

02-27 09:25:42.790 26025-26025/com.rxandroid.test1 D/----->: ------>onNext()1
02-27 09:25:42.790 26025-26025/com.rxandroid.test1 D/----->: ------>onNext()2
02-27 09:25:42.790 26025-26025/com.rxandroid.test1 D/----->: ------>onNext()3
02-27 09:25:42.790 26025-26025/com.rxandroid.test1 D/----->: ------>onNext()4
02-27 09:25:42.790 26025-26025/com.rxandroid.test1 D/----->: ------>onNext()5
02-27 09:25:42.790 26025-26025/com.rxandroid.test1 D/----->: ------>onCompleted()


在这里并没有太多用处,可以用于校验是否是同一种类型,不够智能,如:String->Integer 会出现转换失败异常