我正在使用以下Kotlin代码生成代理(这也会生成Rx方法)
@ProxyGen
@VertxGen
interface JobService {
@Fluent
fun getCertain(jobId: Int, handler: Handler<AsyncResult<Job?>>): JobService
}
当我看到生成的Rx代码时,如下所示。
public Single<Job> rxGetCertain(int jobId) {
return new io.vertx.reactivex.core.impl.AsyncResultSingle<Job>(handler -> {
getCertain(jobId, handler);
});
}
问题:-
不幸的是,我无法在Kotlin中使用此功能,因为kotlin不允许非null字段使用null值,并且它引发以下异常。
java.lang.IllegalArgumentException: Parameter specified as non-null is null
我如何强制Vertx CodeGen生成MayBe返回类型,以便我的代码在kotlin中没有任何问题。
答案 0 :(得分:0)
添加注释@Nullable
@ProxyGen
@VertxGen
interface JobService {
@Fluent
fun getCertain(jobId: Int, handler: Handler<AsyncResult<@Nullable Job?>>): JobService
}