Sum*_*uma 5 foreach scala intellij-idea pattern-matching
IntelliJ给了我一个以下代码的提示:
val l = List(0, "1", 2, "3")
l.foreach{_ match {case xx:Int => println(xx);case _ =>}}
Run Code Online (Sandbox Code Playgroud)
提示是"将匹配语句转换为部分函数"
当我改变foreach
l.foreach{case x:Int => println(x)}
Run Code Online (Sandbox Code Playgroud)
我得到了scala.MatchError例外.我可以使用collect而不是foreach产生List从未使用过的结果.
有没有一些常见的方法来处理这个问题(像foreach忽略不匹配的值),或者我应该忽略提示?
om-*_*nom 13
放回默认情况:
val l = List(0, "1", 2, "3")
l.foreach { case xx:Int => println(xx); case _ => }
Run Code Online (Sandbox Code Playgroud)
IDEA很高兴:

事实上,如果您点击建议的操作,那么IDEA将会产生这种情况(ALT+ ENTER当您的插入符号指向泛黄文本时)
| 归档时间: |
|
| 查看次数: |
4401 次 |
| 最近记录: |