Scala 检查flatmap中的null

Scala 检查flatmap中的null,scala,scope,null,Scala,Scope,Null,我有一个Neo4J查询,它返回的节点列表很可能不会为空,但在某些情况下可能返回null。如何在映射或平面映射操作中检查空结果 val nodes = { storeAPI.NeoQuery(parentNodesIDs).resultList().map { _.flatMap { record => record.get("assetList").asList.asScala.map(_.toString).toSet

我有一个Neo4J查询,它返回的节点列表很可能不会为空,但在某些情况下可能返回null。如何在映射或平面映射操作中检查空结果

 val nodes = {
    storeAPI.NeoQuery(parentNodesIDs).resultList().map {
      _.flatMap {
        record =>
          record.get("assetList").asList.asScala.map(_.toString).toSet
      }
    }.recover {
      case e: Exception =>
        logger.error(s"Failure in getSimplifiedAssetListFromContainer: ", e)
        throw e
    }
  }
我已经尝试将
storeAPI.NeoQuery(parentNodeIDs.resultList()
放入上述块之外的
val
中,但是
val节点
超出了范围

val节点={…}
的类型为
Future[List[String]]

任何帮助都会很好

试试
flatMap(选项())
像这样

record
  .get("assetList")
  .asList
  .asScala
  .flatMap(Option(_))
  .map(_.toString)
  .toSet
比如说

List(1,null,3).flatMap(Option(_)).map(_.toString).foreach(println)
输出

1
3
这是因为
选项(null)
None
,并且
None
flatMap
丢弃