rxjava:flatmap和map的区别
我想知道这两种方法之间的行为是否有任何差异,或者只是风格问题:rxjava:flatmap和map的区别,java,rx-java,Java,Rx Java,我想知道这两种方法之间的行为是否有任何差异,或者只是风格问题: private Single<JsonObject> foo() { return Single.just(new JsonObject()).flatMap(next -> Single.just(next)); } private Single<JsonObject> bar() { return Single.just(new JsonObject()).map(next -
private Single<JsonObject> foo() {
return Single.just(new JsonObject()).flatMap(next -> Single.just(next));
}
private Single<JsonObject> bar() {
return Single.just(new JsonObject()).map(next -> next);
}
private Single foo(){
返回Single.just(newjsonobject()).flatMap(next->Single.just(next));
}
私人单杠(){
返回Single.just(newjsonobject()).map(下一步->下一步);
}
行为上没有区别,因为两者都是无意义的操作。第一个简单地重复将对象包装成一个单个
,而第二个将其映射到自身。你也没有理由这样做
阅读“flatMap()”和“map()”:第一个将每个值转换为不同值的可观察值,第二个将每个值转换为不同值。您可以为自己表示一个flatMap操作符,就像另两个操作符map和merge的序列一样 Map将源项转换为可观察项,该项根据Map中的函数发出值。 此时,合并将有助于将每个新观察到的项目(而不是源项目)放在一起 那本书上有一幅很好的插图 为了简化此代码,引入了flatMap操作符
Ok的可能重复谢谢,我知道这些方法是毫无意义的,这就是示例!