Kotlin Vertx Тип Несоответствие найдено Future <Unit> ожидаемый обработчик <AsyncResult <Void >>

Я думал, что в Котлине Unit была эквивалентна Void . С помощью службы Vert.x Service Discovery невозможно передать Future<Unit> чтобы unpublish(String id, Handler<AsyncResult<Void>> resultHandler) (дает несоответствие типа), но он будет принимать Future<Void> без каких-либо проблем , Почему это и есть решение, или мне просто нужно жить с помощью Void ?

Unit не эквивалентна Void , она эквивалентна void в котлин.

В java void – это ключевое слово, но Void – это класс. поэтому приведенный ниже код не может быть скомпилирован:

 fun foo():Void{/**need return a Void instance exactly**/} fun bar():Void{ return Unit; } // ^--- type mismatch error 

java применяет одно и то же правило, например:

 Void canNotBeCompiled(){ // must return a Void instance exactly. } Void foo(){ return Void.TYPE; } Void nil(){ return null; } 

Наконец, в документации модуля также говорится:

Тип с одним значением: объект Unit. Этот тип соответствует типу void в Java.