[英]no instance(s) of type variable(s) U exists so that Row conforms to Iterable<? extends U>
I have a method that returns an Observable of ResultSet: 我有一个返回ResultSet的Observable的方法:
public static Observable<ResultSet> queryAllAsObservable(Session session, String query, Object... partitionKeys) {
List<ResultSetFuture> futures = sendQueries(session, query, partitionKeys);
Scheduler scheduler = Schedulers.io();
List<Observable<ResultSet>> observables = Lists.transform(futures, (ResultSetFuture future) -> Observable.fromFuture(future, scheduler));
return Observable.merge(observables);
}
Now I need to create a version of this method that returns an Observable of Row instead. 现在,我需要创建此方法的版本,而不是返回一个Observable of Row。 This is what I've tried:
这是我尝试过的:
public static Observable<Row> queryAllAsRowObservable(Session session, String query, Object... partitionKeys) {
List<ResultSetFuture> futures = sendQueries(session, query, partitionKeys);
Scheduler scheduler = Schedulers.io();
List<Observable<ResultSet>> observables = Lists.transform(futures, (ResultSetFuture future) -> Observable.fromFuture(future, scheduler));
return Observable.merge(observables).flatMapIterable(item -> item.one());
}
But item -> item.one()
is marked by an error: 但是
item -> item.one()
被错误标记:
no instance(s) of type variable(s) U exists so that Row conforms to Iterable<? extends U>
flatMapIterable
has the wrong type for what you're trying to do at the point you're trying to do it. 在您尝试执行此操作时,
flatMapIterable
的类型错误。 You could use map
instead of flatMapIterable
, or reconsider your use of merge
. 您可以使用
map
代替flatMapIterable
,或者重新考虑使用merge
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.