How to implement a java.util.function.Predicate as Kotlin lambda?

Chriss :

I need to pass a java.util.function.Predicate to a Java function. How can I implement it as Lambda in Kotlin?

The Java-Function I need to call:

public void foo(Predicate<String> p)

Java Lambda implemenation ✔ :

foo(text-> true)

Kotlin Lambda implemenation ❌:

foo{text:String -> true}  
    ^^^^^^^^^^^^ 
Type mismatch.
Required: Predicate<String>
Found:    (String) → Boolean

Kotlin-Version 1.2.21

Chriss :

These variants works for me:

foo(Predicate {text -> true  })  
foo(Predicate {true})
foo({true  }as Predicate<String>)

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=434260&siteId=1