混合Java流和Rxjava是否安全?

时间:2019-02-12 09:00:16

标签: java java-stream rx-java reactive-programming rx-java2

假设我有一个可观察到的东西,并且在下游某处,我选择使用Java 8流而不是rxjava运算符进行过滤。 这会引起任何问题吗?

 List<String> stringList = new ArrayList<>();
    Observable.just(stringList)
            .map(new Function<List<String>, List<String>>() {
                @Override
                public List<String> apply(List<String> strings) throws Exception {
                    return strings.stream().filter(it -> it.contains("randomText"))
                            .collect(Collectors.toList());
                }
            }).subscribe(new Consumer<List<String>>() {
        @Override
        public void accept(List<String> strings) throws Exception {
            //do something with list
        }
    });

1 个答案:

答案 0 :(得分:1)

Consumer<T>接受T,因此您可以使用T提供的所有方法。

无论如何检查documentation,RxJava提供了多个运算符,例如mapflatMapfilter等。例如,您可以在代码中替换第一个{ {1}}如下:

map