相关疑难解决方法(0)

使用foreach时将match语句转换为partial函数

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忽略不匹配的值),或者我应该忽略提示?

foreach scala intellij-idea pattern-matching

5
推荐指数
1
解决办法
4401
查看次数

标签 统计

foreach ×1

intellij-idea ×1

pattern-matching ×1

scala ×1