Почему я должен возвращать Unit.INSTANCE при реализации в Java функции Kotlin, которая возвращает Unit?
Если у меня есть функция Kotlin
fun f(cb: (Int) -> Unit)
и я хочу позвонитьf
с Java я должен сделать это так:
f(i -> {
dosomething();
return Unit.INSTANCE;
});
что выглядит очень некрасиво. Почему я не могу просто написать это какf(i -> dosomething());
, посколькуUnit
в Котлине эквивалентноvoid
в Java?