将java可选转换为Kotlin箭头选项



将JavaOptional转换为ArrowsOption的最佳方法是什么?我以为会有现成的东西,但没有。比如:

fun <T> Optional<T>.toOption(): Option<T> = if (this.isPresent) Some(this.get()) else none()

目前还没有这样的函数,但是欢迎这样的贡献!

Arrow不建议使用Option,除非绝对必要。唯一的用例是嵌套null,这是RxJava的ReactiveX实现的限制;项目的反应堆。这两个库都不允许在Flowable,Flux,Mono等中使用null作为它们的泛型值A

模拟,你不能使用null作为一个空信号在Kotlin的泛型代码。除非AA : Any约束为非空。

只有在这两种情况下你才应该使用Arrow的选项,否则使用Kotlin的nullable类型是由Arrow的维护者推荐的。

最新更新