0
我更新我的项目从RxJava 1至2 RxJava我有这个扩展方法(我用的科特林):RxJava 2需要比RxJava 1(科特林)不同的可观察到的返回类型
fun <T : DatabaseModel> Observable<DataSnapshot?>.toObjectObservable(type: Class<T>): Observable<T> {
return this.map {
if (it == null) {
[email protected] null
}
val data = it.getValue(type)
data?.setId(it.key)
data
}
}
当我使用RxJava 1一切都很好。但是当我用来自RxJava 2的新Obserbles(io.reactivex.Observable)替换了observables时,发生了错误。现在IDE说,它需要以下返回类型:
((Datasnashot) -> T)!
,而不是提供
(Datasnapshot) -> T?
你有任何想法可能会导致此不同的行为?我应该如何更改代码来修复它?