from的参数只能是数组或者Iterable或者Future等,不能是基本类型等,我们看一下下面这个例子
Integer[] items2 = { 0, 1, 2, 3, 4, 5 };
Observable<Integer> myObservable =Observable.from(items2);
Subscriber<Integer> mySubscriber = new Subscriber<Integer>() {
@Override
public void onNext(Integer s) {
System.out.println(s);
}
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
};
myObservable.subscribe(mySubscriber);
我们看下from的实现:
public static <T> Observable<T> from(T[] array) {
int n = array.length;
if (n == 0) {
return empty();
} else
if (n == 1) {
return just(array[0]);
}
return create(new OnSubscribeFromArray<T>(array));
}
可以看到,这里其实就相当于前面的just(1,2,3)多个参数的情形,后面的过程也是一样的e