Scala Check可选字符串为null或空

Rob*_*bin 4 java functional-programming scala isnull nullpointerexception

我是Scala的新手,我想学习如何在可选字符串上添加null和空检查?

val myString : Option[String]

if (null != myString) {
  myString
    .filter(localStr=> StringUtils.isEmpty(localStr))
    .foreach(localStr=> builder.queryParam("localStr", localStr))
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作,但我想学习一些优雅的方式来编写相同的检查.任何帮助都非常感谢,

谢谢

And*_*ann 5

使用Option构造函数有一种非常方便的方法.

scala> Option("Hello Worlds !")
res: Option[String] = Some(Hello Worlds !)


scala> Option(null)
res: Option[Null] = None
Run Code Online (Sandbox Code Playgroud)

所以,如果你将有可能为空值的字符串列表,你可以使用的组合Optionflatten:

scala> List("Speak", "friend", null, "and", null ,"enter").map(s => Option(s)) .flatten
res: List[String] = List(Speak, friend, and, enter)
Run Code Online (Sandbox Code Playgroud)