试图添加一个CompositeDisposable。使用以下代码:
compositeDisposable.add(
animalsObservable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.filter { s -> s.toLowerCase().startsWith("c") }
.map(object : Function<String, String>()
{
@Throws(Exception::class)
fun apply(s: String): String
{
return s.toUpperCase()
}
})
.subscribeWith(animalsObserverAllCaps)
)
}
但是,出现以下错误:
类型推断失败:有趣的地图(p0:功能!):可观察!
不适用于
()
类型不匹配:推断的类型为功能!被期待
接口函数
答案 0 :(得分:1)
我希望它是如此简单:
.map { it.toUpperCase() }
代替
.map(object : Function<String, String>()
{
@Throws(Exception::class)
fun apply(s: String): String
{
return s.toUpperCase()
}
})
但是无论如何,您可能都没有使用io.reactivex.functions.Function
,因此出现了错误。如果您真的不想使用Lambda,则:
.map(object : io.reactivex.functions.Function<String, String> {
override fun apply(t: String): String {
return t.toUpperCase()
}
})
或者仅导入io.reactivex.functions.Function
,然后使用Function
。