Rx java 无法解析rxjava 2中的Observable.from方法

Rx java 无法解析rxjava 2中的Observable.from方法,rx-java,rx-java2,Rx Java,Rx Java2,rxjava 1中的Observable类中有一个from方法,但在rxjava 2中找不到。如何在以下代码中替换rxjava 2中的from方法: List<Integer> ints = new ArrayList<>(); for (int i=1; i<10; i++) { ints.add(new Integer(i)); } Observable.just(ints) .flatMa

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

    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);
                }
            })
List ints=new ArrayList();

对于(inti=1;i您可以使用
Observable.fromIterable(source)

发件人:

某些运算符重载已使用后缀重命名,例如 fromArray、fromIterable等。原因是 库是用Java8编译的,javac通常无法消除歧义 在功能接口类型之间

List ints=new ArrayList();

对于(int i=1;i您不需要使用
.just()
,因为您可以通过
fromIterable()
操作符直接从列表中创建
observatable

    Observable.fromIterable(ints)

我想现在有点晚了,但我只是想让大家知道,API的更改与以下中的
from
操作符相关:


from
消歧为
fromArray
fromIterable
fromFuture
如果您需要列表,那么您只需使用Java
,从中创建一个
列表
,然后将其直接传递给该方法。如下所示:

Observable.fromIterable(IntStream.rangeClosed(lowerLimitInclusive,upperLimitInclusive)
            .boxed()
            .collect(Collectors.toList()));   

Observable.fromIterable(Stream.iterate(lowerLimitInclusive,整数->整数+1)
.filter(整数->整数<(上限+1))
.限制((长(上限+1)-长(包括下限))
.collect(Collectors.toList());
Observable.fromIterable(IntStream.rangeClosed(lowerLimitInclusive,upperLimitInclusive)
            .boxed()
            .collect(Collectors.toList()));   
Observable.fromIterable(Stream.iterate(lowerLimitInclusive, integer -> integer + 1)
                .filter(integer -> integer < (upperLimit+1))
                .limit((long(upperLimit+1)-long(lowerLimitInclusive))
                .collect(Collectors.toList()));