Scala:检查List的null

时间:2016-11-09 15:15:27

标签: java scala

在Java编写10年之后,我是Scala的新手。仍然掌握功能编程。 如何检查列表是否为空? 代码看起来像这样:

val filterList = filters.map { filter =>
        //some operations
      }

//其他功能

filterList.foldLeft(true)((result1, result2) => {

现在,如果filters为空,那么filterList也将为空。

2 个答案:

答案 0 :(得分:9)

如果filtersnull(不同于空),则表示一些非常粗心的编程,但可以处理。

val filterList = Option(filters).map(_.map { ...

现在filterList的类型为Option[X],其中Xfilters的集合类型。请注意,第一个map是打开集合上的Option和第二个map地图,除非filtersnull,然后是第二个{{1}永远不会调用,整个结果是map

答案 1 :(得分:2)

val filterList = if(filters == null) Seq.empty[SomeType] else filters.map {...}

但是,您应该尝试确保它永远不会为null,因为我们尝试避免Scala中的空变量。使用Option [T]类型或空集合