RxJava zip在使用Android Studio 3.0的Kotlin中出现IDE错误
我想创建一个可观察量,它发出一些项目,可观察包含间隔可观察的对象列表,以便第一个可观察对象中的项目将以一些时间延迟发出。这是我的实现:
val just1 = ArrayList<SomeClass1>()
填充某些项目
fun populateJust1() {
just1.add(SomeClass1("23", 23))
just1.add(SomeClass1("24", 24))
just1.add(SomeClass1("25", 25))
}
populateJust1()
和 zip 与间隔可观察
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 = 长!对于有趣的zipWith(其他:ObservableSource!,拉链:BiFunction!):可观察!在io.reactivex.Observable zipWith((Mutable)Iterable!, BiFunction!) 中定义,其中 U, R 不能被推断为有趣的 zipWith(其他:(可变)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类转换了这段代码,一切都是正确的