``` // definitions in Kotlin fun doSomethingWithCl...
# feed
p
Copy code
// definitions in Kotlin
fun doSomethingWithClickJavaWay(l: View.OnClickListener){
    l.onClick(null)
}

fun doSomethingWithClickKotlinWay(l: (view: View?) -> Unit){
    l.invoke(null)
}
consuming it in Kotlin
Copy code
doSomethingWithClickJavaWay(View.OnClickListener { /*do something*/ })

doSomethingWithClickKotlinWay { /*do something*/ }
consuming in Java
Copy code
TestKt.doSomethingWithClickJavaWay(new View.OnClickListener() {
    @Override
    public void onClick(final View v) {
        /*do something*/
    }
});

TestKt.doSomethingWithClickKotlinWay(new Function1<View, Unit>() {
    @Override
    public Unit invoke(final View view) {
        /*do something*/
        return Unit.INSTANCE;
    }
});