Java 如何返回具有特定类型的Observable?

Java 如何返回具有特定类型的Observable?,java,android,system.reactive,rx-java2,Java,Android,System.reactive,Rx Java2,我需要返回可观察的指定泛型类型。但在zip操作符之后,我只得到可观察的,没有任何类型 如何将常规的可观察的转换为可观察的?也许有一些rx操作员负责这个 代码示例: public Observable<Schedule> updateSchedules(final List<ScheduleInfo> schedulesInfo) { List<Observable<List<ScheduleItem>>> observables

我需要返回可观察的指定泛型类型。但在zip操作符之后,我只得到可观察的,没有任何类型

如何将常规的
可观察的
转换为
可观察的
?也许有一些rx操作员负责这个

代码示例:

public Observable<Schedule> updateSchedules(final List<ScheduleInfo> schedulesInfo) {
    List<Observable<List<ScheduleItem>>> observables = makeScheduleTasks(schedulesInfo);
    Observable observable = Observable.zip(observables, objects -> getSchedules(schedulesInfo, objects));
    return (Observable<Schedule>)observable; //How to cast?
}


private List<Schedule> getSchedules(List<ScheduleInfo> schedulesInfo, Object[] objects) {
        if(objects.length == schedulesInfo.size()){
            List<Schedule> schedules = new ArrayList<>(schedulesInfo.size());
            for (int i = 0; i < schedulesInfo.size(); i++) {
                Object object = objects[i];
                schedules.add(new Schedule(schedulesInfo.get(i), (List<ScheduleItem>) object));
            }
            return schedules;
        }
        return null;
    }
public Observable updateSchedules(最终列表schedulesInfo){
列表可观察对象=makeScheduleTasks(schedulesInfo);
Observable-Observable=Observable.zip(Observable,objects->getSchedules(schedulesInfo,objects));
return(Observable)Observable;//如何强制转换?
}
私有列表getSchedules(列表schedulesInfo,对象[]对象){
如果(objects.length==schedulesInfo.size()){
列表明细表=新的ArrayList(schedulesInfo.size());
对于(int i=0;i
您需要在编译器可以使用的地方提供类型信息:

public Observable<Schedule> updateSchedules(final List<ScheduleInfo> schedulesInfo) {
    List<Observable<List<ScheduleItem>>> observables = makeScheduleTasks(schedulesInfo);
    Observable<Schedule> observable = Observable.zip(observables, objects -> getSchedules(schedulesInfo, objects));
    return observable;
}
public Observable updateSchedules(最终列表schedulesInfo){
列表可观察对象=makeScheduleTasks(schedulesInfo);
Observable-Observable=Observable.zip(Observable,objects->getSchedules(schedulesInfo,objects));
可观测收益;
}

只要
getSchedules()
返回一个
Schedule

您的
可观察的声明中缺少类型信息,就可以正常工作。当您提供它时会发生什么?这里引用的两种方法的类型是什么?@BobDalgleish在表达式“Observable.zip”中的zip运算符在中找不到all@OliverCharlesworth抱歉,添加以下方法getSchedules