Rx java RxJava2如何将concat()用于4个以上的可观察对象

Rx java RxJava2如何将concat()用于4个以上的可观察对象,rx-java,observable,rx-java2,Rx Java,Observable,Rx Java2,我目前有这种方法,效果很好: public static Observable<MyCustomObject> run(Service networkService) { return Observable.concat( networkService.getThingOne().map(response -> { Request request = response.raw().request(); MyCu

我目前有这种方法,效果很好:

  public static Observable<MyCustomObject> run(Service networkService) {
    return Observable.concat(
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        }),
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        }),
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        }),
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        })
    );
  }
公共静态可观察运行(服务网络服务){
返回可观察的.concat(
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}),
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}),
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}),
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
})
);
}
它只是一次又一次地被观察到。如果我在其中添加另一个,如下所示:

  public static Observable<MyCustomObject> run(Service networkService) {
    return Observable.concat(
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        }),
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        }),
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        }),
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        }),
        networkService.getThingOne().map(response -> {
          Request request = response.raw().request();
          MyCustomObject case = new MyCustomObject(request);
          return case;
        })
    );
  }
公共静态可观察运行(服务网络服务){
返回可观察的.concat(
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}),
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}),
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}),
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}),
networkService.getThingOne().map(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
})
);
}
然后我在
concat()
returncase
下得到一条红线,但就在
case
部分

有人对此有什么想法吗

编辑:我将我的问题标题从“为什么这不起作用”更新为“我如何才能让它起作用”?我基本上有10个观测值,我想把它们放在concat()中,我可能会添加更多。所以我需要一些没有限制的东西。

concat()
接受和
Iterable
,其中应包含观察值:

公共静态可观察运行(服务网络服务){
ArrayList observables=新的ArrayList();
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
});
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
返回可观察的。concat(可观察的);
}
请原谅任何语法错误,我已经有一段时间没有使用Java了

concat()
接受和
Iterable
,其中应包含观察值:

公共静态可观察运行(服务网络服务){
ArrayList observables=新的ArrayList();
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
});
添加(networkService.getThingOne().map)(响应->{
请求=response.raw().Request();
MyCustomObject案例=新的MyCustomObject(请求);
返回案例;
}));
返回可观察的。concat(可观察的);
}

请原谅任何语法错误,我已经有一段时间没有使用Java了。

concat
只允许4个源。@GVillani82知道我在这种情况下能做些什么。我有大约10个观察值要串在一起。
getthingo()
getThingTen()
。使用
concatArray
concat
只允许4个源。@GVillani82任何关于我在这种情况下能做什么的想法。我想知道大约10个观测值