0

RxJava2 で flatmap の「apply」メソッド内からリストを変更しようとすると、サポートされていない操作例外が発生します。

compositeDisposable.add(createObservable()
            .flatMap(new Function<List<String>, ObservableSource<List<String>>>() {
                @Override
                public ObservableSource<List<String>> apply(List<String> s) throws Exception {

                    List<String> modiList = new ArrayList<String>();
                    modiList.addAll(s);
                    modiList.add("barber");

                    //s.add("barber") and return Observable.fromArray(s) thows error

                    return Observable.fromArray(modiList);
                }
            })
            .subscribeWith(getObserver()));

ただし、新しいリストを作成すると、上記のように正常に機能します。それについての洞察はありますか?

以下は私の Observable 作成ロジックです:

String[] arr = {"hi", "hello", "bye"};
Observable<List<String>> observable;
observable = Observable.fromCallable(() -> Arrays.asList(arr));
4

1 に答える 1