gpt4 book ai didi

scala - Option.map (null) 返回 Some (null)

转载 作者:行者123 更新时间:2023-12-04 17:34:06 24 4
gpt4 key购买 nike

我想将此代码片段返回给我 None而不是 Some(null) :

Option(x).map(x.getNullValue) // returns Some(null)

听说 Scalaz库具有处理这种情况的功能。那么我如何使用两者来实现我的目标: scalaz和标准 Scala 库?

最佳答案

您可以使用 flatMap连同 Option.apply方法在这里而不是拉入 scalaz :

Option(initialValue).flatMap(x => Option(x.getNullValue))

这自 Option.apply 起有效方法踏板 null聪明地:
val x: String = null
Option(x) //None
Option("foo") //Some("foo")

因此,如果您完全知道值(value),您可以简单地执行以下操作:
Option(x.getNullValue)

您也可以在 Option 上使用其他方法喜欢 filter , orElse , 或 getOrElse ,视情况而定:
Option(initialValue).map(_.getNullValue).filter(_ != null)
Option(initialValue).orElse(Option(x.getNullValue))
Option(x.getNullValue).getOrElse(defaultValue)

关于scala - Option.map (null) 返回 Some (null),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29660606/

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