(´・ω・`)そんな言い方ってない

ヲタエンジニアの備忘録的なもの

RxJava Observable toList operatorメモ

Categories: RxJava

Date: 2015/09/03

以下のようなonNext()を呼ばないパターンのあるObservableでtoList operatorを使った時のメモです。

    Observable listObservable = Observable.create(new Observable.OnSubscribe<Object>() {
      @Override public void call(Subscriber<? super Object> subscriber) {
        // Point1 : create object list.
        // Point2 : call onNext() in a foreach block.
        subscriber.onCompleted();
      }
    }).toList()
    .subscribe(new Observer<List<Object>>() {
      @Override public void onCompleted() {
      }
      @Override public void onError(Throwable e) {
      }
      @Override public void onNext(List<Object> objects) {
        // Question : objects.size()は?
      }
    });

foreachが実行されてsubscriber.onNext()が呼ばれる場合はQuestionの部分のobjects.size()は0より大きな値が返ってきます。 subscriber.onNext()が呼ばれない場合でもQuestionの部分のobjects.size()=0で返ってきます。