Dealing with SAM ambiguity
In Java, an interface with a single abstract method is called a functional interface. This means a functional interface in Java is SAM in Kotlin.
At the time of writing, when Kotlin invokes Java libraries with functional parameters, a problem may rear its head in RxJava 2.x when several overloads of the method with functional parameters are introduced. Kotlin does not have this issue when invoking Kotlin libraries, but it does with Java libraries. When there are multiple argument overloads for different functional SAM types on a given Java method, Kotlin gets lost in its inference and needs help. Until JetBrains resolves this issue, you will need to work around this either by being explicit or by using RxKotlin's ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access