【发布时间】:2018-12-25 11:05:30
【问题描述】:
我希望这个小例子能打印出所有能被 3 整除的数字。
@Test
public void test() {
Observable.range(1, 100)
.groupBy(n -> n % 3)
.toMap(g -> g.getKey())
.flatMap(m -> m.get(0))
.subscribe(System.out::println);
}
println 没有打印任何东西,我不明白为什么。
我从一个更复杂的例子中简化了这个例子,我知道这可以用不同的方式完成,但我需要这种方式,因为涉及更多的组,需要同时在 flatMap 中进行操作.
感谢您的帮助!
【问题讨论】:
-
为什么不只是
filter(n -> n % 3 == 0)? -
你期望什么输出?
-
在 RxJava 1 和 2 中都适用于我(你需要
flatMapObservable那里)。你运行的是什么版本? -
不幸的是,这是一个旧版本,我被限制了,这可能是我猜想的问题。我面前没有项目,但我记得它是 0.14.something。你认为我应该对这个版本做一些不同的事情吗?
-
0.14 是古老的(或 1.0.14?),多年来
groupBy和flatMap都有几个错误。
标签: java functional-programming rx-java reactive-programming rx-java2