【发布时间】:2018-05-01 18:56:29
【问题描述】:
我想创建一个 Observable,它从 Observable 中发射一些项目,其中包含具有 Interval Observable 的对象列表,这样第一个 observable 中的项目将在一段时间内发射。 这是我的实现:
val just1 = ArrayList<SomeClass1>()
填充一些项目
fun populateJust1() {
just1.add(SomeClass1("23", 23))
just1.add(SomeClass1("24", 24))
just1.add(SomeClass1("25", 25))
}
populateJust1()
并以 Observable 间隔压缩
Observable.fromIterable(just1)
.zipWith(Observable.interval(2, TimeUnit.SECONDS)) { item: SomeClass1, interval: Long -> item }
.subscribe(Consumer<SomeClass1> { someClass1 -> Log.v("someClass1", someClass1.toString()) })
然而,IDE,Android Studio 3.0 用红色强调了 zipWith 操作符并说:
以下函数都不能使用提供的参数调用。 zipWith(((observer: Observer) → Unit)!, ((t1: SomeClass1, t2: Long) → R)!) 其中 R 无法推断; U = Long for fun zipWith(other: ((observer: Observer) → Unit)!, zipper: ((t1: SomeClass1, t2: U) → R)!): Observable!在 io.reactivex.Observable 中定义 zipWith(ObservableSource!, BiFunction!) 无法推断 R; U = 长! for fun zipWith(other: ObservableSource!, zipper: BiFunction!): Observable!在 io.reactivex.Observable 中定义 zipWith((Mutable)Iterable!, BiFunction!) 其中 U, R 不能被推断为有趣的 zipWith(other: (Mutable)Iterable!, zipper: BiFunction!): Observable在 io.reactivex.Observable 中定义 zipWith((Mutable)Iterable!, ((t1: SomeClass1, t2: Long) → R)!) 其中 R 无法推断; U = Long for fun zipWith(other: (Mutable)Iterable!, zipper: ((t1: SomeClass1, t2: U) → R)!): Observable!在 io.reactivex.Observable 中定义
怎么了?我刚刚从一切都正确的 Java 类转换了这段代码
【问题讨论】:
标签: java kotlin rx-java rx-java2