¿Cómo puedo pasar una lambda de Java a un método Kotlin?

Barry Fruitman:

¿Puedo llamar a este método Kotlin de Java?

fun foo(() -> Unit)

Si es así, ¿cuál es la sintaxis?

Todd:

Usted puede llamar a esto, pero hay que tener cuidado de los tipos de retorno. Si su función devuelve un Kotlin Unit, Java o bien necesidad de volver Unito null, porque voidno es exactamente lo mismo que Unit.

Mi ejemplo que trabajaba:

foo(() -> {
    System.out.println("Hi");
    return null;
});

O, si se quiere ser muy explícito sobre Unit...

foo(() -> {
    System.out.println("Hi");
    return Unit.INSTANCE;
});

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=199404&siteId=1
Recomendado
Clasificación