Warum muss ich Unit.INSTANCE zurückgeben, wenn ich in Java eine Kotlin-Funktion implementiere, die eine Unit zurückgibt?
Wenn ich eine Kotlin-Funktion habe
fun f(cb: (Int) -> Unit)
und ich möchte @ anruff
von Java muss ich so machen:
f(i -> {
dosomething();
return Unit.INSTANCE;
});
Das sieht sehr hässlich aus. Warum kann ich es nicht einfach so schreiben wief(i -> dosomething());
, schon seitUnit
in Kotlin entsprichtvoid
in Java?