使用Scala中的另一个值替换列表中的空值

时间:2016-09-20 16:53:45

标签: list scala nullpointerexception null

我正在尝试使用map用空值替换Scala列表的null元素。我目前有:

val arr = Seq("A:B|C", "C:B|C", null)
val arr2 = arr.map(_.replaceAll(null, "") )

这给了我一个NullPointerExpection。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:9)

您尝试替换字符串中的空字符,而不是替换Seq中的空字符串。所以这是一个正确的方法:

val arr2 = arr.map(str => Option(str).getOrElse(""))

如果值不为空,此处的Option将生成Some(<your string>),否则将生成None。如果字符串不为空,则getOrElse将返回字符串,否则返回空字符串。