一些
scala代码:
val list = List(Some("aaa"),Some("bbb"),None,...) list.filter(_!=None).map { case Some(x) => x + "!!!" // I don't want to handle `None` case since they are not possible // case None }
当我运行它时,编译器抱怨:
<console>:9: warning: match may not be exhaustive. It would fail on the following input: None list.filter(_!=None).map { ^ res0: List[String] = List(aaa!!!,bbb!!!)
如何修复该警告而不提供案例无行?
解决方法
如果您在过滤后使用地图,则可以使用收集.
list collect { case Some(x) => x + "!!!" }