Scala:检查List的null

Him*_*dav 1 java scala

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

val filterList = filters.map { filter =>
        //some operations
      }
Run Code Online (Sandbox Code Playgroud)

//其他功能

filterList.foldLeft(true)((result1, result2) => {
Run Code Online (Sandbox Code Playgroud)

现在,如果filters为null,那么filterList也将为null.

jwv*_*wvh 9

如果filtersnull(这不同于空)那么这表明一些非常粗心的编程,但它可以被处理.

val filterList = Option(filters).map(_.map { ...
Run Code Online (Sandbox Code Playgroud)

现在filterList是类型Option[X],其中X是集合类型filters.注意第一个map是在集合上展开Option和第二个map映射,除非filtersnull,然后map从不调用第二个,整个结果是None.