将 Kotlin 单位转换为 Java 空
Convert Kotlin Unit to Java Void
我正在为 Android 个小部件使用 RxBinding。我想执行以下操作:Observable<java.lang.Void> obs = RxView.clicks(button);
但是我收到一个编译时错误,指出预期的类型是 kotlin.Unit
。 RxView.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);
我正在为 Android 个小部件使用 RxBinding。我想执行以下操作:Observable<java.lang.Void> obs = RxView.clicks(button);
但是我收到一个编译时错误,指出预期的类型是 kotlin.Unit
。 RxView.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);