list – 如何修复模式匹配穷举警告?

一些 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 + "!!!" }

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...