在 RxJava 2 中展平列表
Flatten a list in RxJava 2
我已经使用 RxJava 1 一段时间了,但我想看看 RxJava 2。在 RxJava 1 中,我可以按如下方式发出列表的每个项目:
List<String> list = ...
Observable.from(list)
.filter(str -> str.contains("Help")
.subscribe(...);
但是,我怎样才能用 RxJava2 实现同样的效果呢?我尝试使用以下内容,但似乎无法通过以下内容:
Observable.fromArray(list)
// this now passes a list into the stream - there is no Observable::from
您需要使用 fromIterable()
,因为任何 List<T>
都会扩展 Collection<T>
,而 Collection<T>
会扩展 Iterable<T>
Observable.fromIterable(list)
.filter(str -> str.contains("Help")
.subscribe(...);
我已经使用 RxJava 1 一段时间了,但我想看看 RxJava 2。在 RxJava 1 中,我可以按如下方式发出列表的每个项目:
List<String> list = ...
Observable.from(list)
.filter(str -> str.contains("Help")
.subscribe(...);
但是,我怎样才能用 RxJava2 实现同样的效果呢?我尝试使用以下内容,但似乎无法通过以下内容:
Observable.fromArray(list)
// this now passes a list into the stream - there is no Observable::from
您需要使用 fromIterable()
,因为任何 List<T>
都会扩展 Collection<T>
,而 Collection<T>
会扩展 Iterable<T>
Observable.fromIterable(list)
.filter(str -> str.contains("Help")
.subscribe(...);