gpt4 book ai didi

Scala 选项映射到另一个选项

转载 作者:行者123 更新时间:2023-12-02 01:13:12 27 4
gpt4 key购买 nike

有没有一种方法可以避免在从选项映射时将可能为空的结果包装在另一个选项中。

option.flatMap(arg => Option(arg.somePotentiallyNullValue))

例如类似的东西

option.optionMap(arg => arg.somePotentiallyNullValue )

我的代码库中只有很多 Java 代码,这意味着在进一步的 Option 调用中永远包装 map 的结果。

最佳答案

从可空类型到Option 的隐式转换怎么样?在范围内的某处声明:

implicit def toOption[T](x: T) : Option[T] = Option(x)

稍后编译器会弄清楚:

option.flatMap(_.somePotentiallyNullValue)

由于 flatMap 需要 Option[T] 作为结果值,编译器使用 toOption 隐式转换,如下所示:

option.flatMap(arg => toOption(arg.somePotentiallyNullValue))

关于Scala 选项映射到另一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14921591/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com