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

bnl4lu3b  于 2022-12-13  发布在  Kotlin
关注(0)|答案(1)|浏览(132)

将Java Optional转换为Arrows Option的最佳方法是什么?我希望有一些现成的东西,但它不在那里。类似于:

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

rsl1atfo1#

目前还没有这样的功能,但这样的贡献将受到欢迎!
Arrow不推荐使用Option,除非绝对必要。唯一的用例是 nested nulls,这是RxJava和Project Reactor的ReactiveX实现的限制。这两个库都不允许null作为FlowableFluxMono等中的泛型值A
类似地,您不能将null用作Kotlin中通用代码的 * 空信号 *。除非通过使用A : AnyA约束为非空。
只有在这两种情况下,您才应该使用Arrow的Option,否则,Arrow维护者建议使用Kotlin的可空类型。

相关问题