无法解析 rxjava 2 中的 Observable.from 方法 [英] Cannot resolve method Observable.from in rxjava 2

查看:22
本文介绍了无法解析 rxjava 2 中的 Observable.from 方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

rxjava 1 中的 Observable 类中有一个 from 方法,但在 rxjava 2 中找不到.如何在以下代码中替换 rxjava 2 中的 from 方法:

There is a from method in the Observable class in rxjava 1 but not found in rxjava 2. How can I replace the from method in rxjava 2 in the following code:

    List<Integer> ints = new ArrayList<>();
    for (int i=1; i<10; i++) {
        ints.add(new Integer(i));
    }
    Observable.just(ints)
            .flatMap(new Function<List<Integer>, Observable<Integer>>() {
                @Override
                public Observable<Integer> apply(List<Integer> ints) {
                    return Observable.from(ints);
                }
            })

推荐答案

你可以使用 Observable.fromIterable(source)

来自文档:

一些运算符重载已用后缀重命名,例如fromArray、fromIterable 等.原因是当库是用 Java 8 编译的,javac 经常无法消除歧义功能接口类型之间.

Some operator overloads have been renamed with a postfix, such as fromArray, fromIterable etc. The reason for this is that when the library is compiled with Java 8, the javac often can't disambiguate between functional interface types.

List<Integer> ints = new ArrayList<>();
for (int i=1; i<10; i++) {
    ints.add(new Integer(i));
}
Observable.just(ints)
        .flatMap(new Function<List<Integer>, Observable<Integer>>() {
            @Override
            public Observable<Integer> apply(List<Integer> ints) {
                return Observable.fromIterable(ints);
            }
        })

这篇关于无法解析 rxjava 2 中的 Observable.from 方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆