我有这个代码
public Stream<PaymentEntity> getPayments(List<String> paymentIds) {
return paymentIds.stream()
.flatMap(id -> paymentsRepository.getById(id))
}
paymentsRepository.getById(id)
返回Single<PaymentEntity>
但是我编译时出错
不存在类型变量R的实例,因此
单符合流
编辑,向任何询问
Single
http://reactivex.io/documentation/single.html的人 最佳答案
您可以使用
return paymentIds.stream()
.map(id -> paymentsRepository.getById(id).toBlocking().value());
或者在
rxjava 2
中,您可以使用: return paymentIds.stream()
.map(id -> paymentsRepository.getById(id).blockingGet());
评论后,我认为您可以使用以下解决方案:
List<PaymentEntity> result = new ArrayList<>();
paymentIds.forEach(id -> paymentsRepository.getById(id).toObservable().subscribe(result::add));
return result.stream();