将 Kotlin 单位转换为 Java 空

Convert Kotlin Unit to Java Void

我正在为 Android 个小部件使用 RxBinding。我想执行以下操作:Observable<java.lang.Void> obs = RxView.clicks(button);
但是我收到一个编译时错误,指出预期的类型是 kotlin.UnitRxView.clicks(button) returns 和 Observable<Unit> 但我认为 Java 没有单位数据类型。
如何在 Java 中获得 Observable<Void>

您可以在 Java 中与 Observable<Unit> 一起生活。 kotlin.Unit 是一个 class 文件,一旦 kotlin-stdlib-<some version>.jar 在您的 class 路径中,就可用于 java 程序,并且它已经存在,因为 RxBinding 需要它.

但是,如果您的程序的其他部分需要 Observable<Void>,可以通过以下方式获得:

 Observable<Unit> ou = RxView.clicks(button);
 Observable<Void> ov = ou.as(unit->null);