RxJava - Just vs From
Estou recebendo a mesma saída ao usarObservable.just
vsObservable.from
no seguinte caso:
public void myfunc() {
//swap out just for from here and i get the same results,why ?
Observable.just(1,2,3).subscribe(new Subscriber<Integer>() {
@Override
public void onCompleted() {
Log.d("","all done. oncompleted called");
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Integer integer) {
Log.d("","here is my integer:"+integer.intValue());
}
});
}
Eu pensei que era apenasjust
suponha emitir um único item efrom
era emitir itens em algum tipo de lista. Qual é a diferença ? Eu também notei quejust
efrom
leva apenas uma quantidade limitada de argumentos. tãoObservable.just(1,2,3,4,5,6,7,8,-1,-2)
está bem masObservable.just(1,2,3,4,5,6,7,8,-1,-2,-3)
falha. O mesmo vale para, eu tenho que envolvê-lo em uma lista ou matriz de tipos. Só estou curioso por que eles não podem definir argumentos ilimitados.
UPDATE: Eu experimentei e vi quejust
não leva uma estrutura de matriz quejust
aceita argumentos.from
leva uma coleção. então o seguinte funciona parafrom
mas não parajust
:
public Observable myfunc() {
Integer[] myints = {1,2,3,4,5,6,7,8,-1,-2,9,10,11,12,13,14,15};
return Observable.just(myints).flatMap(new Func1<Integer, Observable<Boolean>>() {
@Override
public Observable<Boolean> call(final Integer integer) {
return Observable.create(new Observable.OnSubscribe<Boolean>() {
@Override
public void call(Subscriber<? super Boolean> subscriber) {
if(integer.intValue()>2){
subscriber.onNext(integer.intValue()>2);
}
}
});
}
});
}
Estou assumindo que esta é a clara diferença então, correto?