转换为Kotlin时出现编译错误

转换为Kotlin时出现编译错误,kotlin,rx-java,Kotlin,Rx Java,经过多次尝试,我未能成功地将以下代码转换为Kotlin。无论我做什么,我都会遇到各种各样的编译错误。有人能帮我转换一下吗,这样我就能知道我做错了什么: Observable<Message> sendMessageObservable = networkClient.sendMessage(message); sendMessageObservable.retryWhen(throwable -> { Observable<Long> retrySigna

经过多次尝试,我未能成功地将以下代码转换为Kotlin。无论我做什么,我都会遇到各种各样的编译错误。有人能帮我转换一下吗,这样我就能知道我做错了什么:

Observable<Message> sendMessageObservable = networkClient.sendMessage(message);

sendMessageObservable.retryWhen(throwable -> {
    Observable<Long> retrySignal = throwable.zipWith(Observable.range(0, 6), (t, i) -> i)
                                            .flatMap(i -> { final long delay = (long) Math.pow(2, i);
                                                             return Observable.timer(delay, TimeUnit.SECONDS);
                                                          }
                                                     );

    return retrySignal;
})
Observable sendMessageObservable=networkClient.sendMessage(message);
sendMessageObservable.retryWhen(可丢弃->{
可观测retrySignal=throwable.zipWith(可观测范围(0,6),(t,i)->i)
.flatMap(i->{final long delay=(long)Math.pow(2,i);
返回可观察计时器(延迟,时间单位,秒);
}
);
返回返回信号;
})

我无法确认您的问题的正确答案,因为您引用了一些值,因此没有定义类型,并且您没有给出这些值实际包含的信息。我不是Android开发者。如果我是,我可能知道“网络客户端”和“消息”应该是什么类型。实际上,我创建了一些类型和值,这些类型和值允许我用Java编译您的代码。然后我将其转换为Kotlin,并获得了要编译的等效代码:

val sendMessageObservable = networkClient.sendMessage(message)

sendMessageObservable!!.retryWhen { throwable ->
    val retrySignal = throwable.zipWith<Int, Int>(Observable.range(0, 6), BiFunction<Throwable, Int, Int> { _, i -> i})
            .flatMap { i ->
                val delay = Math.pow(2.0, i.toDouble()).toLong()
                Observable.timer(delay, TimeUnit.SECONDS)
            }
    retrySignal
}
val sendMessageObservable=networkClient.sendMessage(消息)
sendMessageObservable!!。retryWhen{可丢弃->
val-retrySignal=throwable.zipWith(可观察的范围(0,6),双函数{{,i->i})
.flatMap{i->
val delay=Math.pow(2.0,i.toDouble()).toLong()
可观察计时器(延迟、时间单位、秒)
}
回传信号
}
我不打算编写更多的猜测代码来运行它。我希望这对你来说是有价值的