有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Scala:检查列表是否为空

在用Java编写了10年的代码之后,我对Scala还是个新手。仍在掌握函数式编程。 如何检查列表是否为空? 代码如下所示:

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

//其他功能

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

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


共 (2) 个答案

  1. # 1 楼答案

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

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

  2. # 2 楼答案

    如果filtersnull(这不同于为空),那么这表示一些相当粗心的编程,但它可以被处理

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

    现在filterListOption[X]类型,其中Xfilters的集合类型。注意,第一个map是打开集合上的Option和第二个map映射,除非filtersnull,否则第二个map永远不会被调用,整个结果是None