RxJava2 Flowable cast

目录

cast

cast 测试用例

cast 测试用例说明

cast实用场景


cast

<U> Flowable<U> cast(Class<U> clazz)

返回一个Flowable,它发出源Publisher发出的项目,转换为指定的类型。

cast 测试用例

   @Test
    public void cast() {
        System.out.println("######cast#####");
        List<Float> source = new ArrayList<>();
        source.add(199f);
        source.add(102f);
        source.add(100f);
        Flowable flowable = Flowable.fromIterable(source);

        flowable.cast(Number.class).subscribe(new Consumer<Number>() {
            @Override
            public void accept(Number number) throws Exception {
                System.out.println(number);
            }
        });

    }


测试结果
######cast#####
199.0
102.0
100.0

Process finished with exit code 0

cast 测试用例说明

上面的例子只是将Float类型转换成了Number类型,然后再发射出去,实际上cast是调用了map进行操作的,后续会分析map

下面是源码

public final <U> Flowable<U> cast(final Class<U> clazz) {
        ObjectHelper.requireNonNull(clazz, "clazz is null");
        return map(Functions.castFunction(clazz));
    }

cast实用场景

后续完善

猜你喜欢

转载自blog.csdn.net/weixin_36709064/article/details/82937396