Scala:如果字符串为空,是否有帮助程序获取 Option[String]?

Scala: is there an helper to get an Option[String] if the string is null?

这是一个非常简单的问题,但我到处都找不到我要找的东西:

Scala 中是否有可以执行此操作的助手?

  def stringOption(string: String): Option[String] =
      if (string == null) None else Some(string)

我在必须使用 Java 库的任何地方复制粘贴或多或少相同的代码。

如果字符串实际上是 null,它只是将字符串转换为选项 [String]。 Java 中许多库中的许多方法在无法 return 任何东西时倾向于 return null

谢谢

将在字符串为 null 的情况下起作用。如果你还想确保它不是 empty,一个小的扩展方法可以帮助

implicit class RichString(val s: String) extends AnyVal {
  def toOpt(): Option[String] = Option(s).filter(_.trim.nonEmpty)
}

现在你可以:

val option = "hello, world!".toOpt()

简单地说:

def stringOption(string: String): Option[String] = Option(string)

因此该函数并不是很有用,因为它等同于立即调用 Option.apply