flatMap
がjava.util.function.Function
を取り、実際にエラーがあなたのKotlinファイルでjava.util.function.Function
をインポートしていないですが、あなたが使用するSAM Conversionsの利点を取ることができないので、私はあなたがjava-8機能を使用することをお勧めしません。パラメータタイプとしてjava-8機能インタフェースで定義されたKotlinコードから直接ラムダ。
Function
は、Function
のインターフェイスがKotlin marker interfaceであるため、Function1
に置き換える必要があります。例えば:
// v--- use the `Function1<T,R>` here
fun <T, R> Flowable<T>.then(mapper: Function1<T, Publisher<R>>): Flowable<R> {
return flatMap(mapper)
}
OR例えば、以下のようにKotlin function typeを使用します。
// v--- use the Kotlin function type here
fun <T, R> Flowable<T>.then(mapper: (T) -> Publisher<R>): Flowable<R> {
return flatMap(mapper)
}
Kotlin関数型の作品、ありがとう! – akabc