Kotlin Vertxtypes不匹配发现未来预期处理程序<AsyncResult >

我以为在Kotlin, Unit就相当于Void 。 使用Vert.x服务发现,不可能传递Futureunpublish(String id, Handler<AsyncResult> resultHandler) (给出types不匹配),但它将接受Future没有任何问题。 为什么是这样的,有没有一个解决方案,或者我只需要生活在使用Void

Unit不等于Void ,相当于kotlin中的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; } 

最后, 单位文件还说:

只有一个值的types:Unit对象。 这个types对应于Java中的voidtypes。