RxJava - Nur gegen Von
Ich erhalte die gleiche Ausgabe bei Verwendung vonObservable.just
vsObservable.from
im folgenden Fall:
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());
}
});
}
Ich dachte nur, warjust
Angenommen, Sie geben ein einzelnes Element aus undfrom
sollte Elemente in einer Liste ausgeben. Was ist der Unterschied ? Ich habe auch festgestellt, dassjust
undfrom
akzeptiert nur eine begrenzte Anzahl von Argumenten. soObservable.just(1,2,3,4,5,6,7,8,-1,-2)
ist ok aberObservable.just(1,2,3,4,5,6,7,8,-1,-2,-3)
schlägt fehl. Gleiches gilt für von, ich muss es in eine Liste oder eine Reihe von Arten wickeln. Ich bin nur neugierig, warum sie nicht unbegrenzt Argumente definieren können.
UPDATE: Ich habe experimentiert und gesehen, dassjust
nimmt keine Array-Struktur an,just
braucht Argumente.from
nimmt eine Sammlung. so funktioniert das folgende fürfrom
aber nicht fürjust
:
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);
}
}
});
}
});
}
Ich gehe davon aus, dass dies der klare Unterschied ist, richtig?