scala – 使用foreach时将match语句转换为partial函数
发布时间:2020-12-16 18:44:06 所属栏目:安全 来源:网络整理
导读:IntelliJ给了我一个以下代码的提示: val l = List(0,"1",2,"3")l.foreach{_ match {case xx:Int = println(xx);case _ =}} 提示是“将匹配语句转换为部分函数” 当我改变foreach l.foreach{case x:Int = println(x)} 我得到了scala.MatchError异常.我可以使
IntelliJ给了我一个以下代码的提示:
val l = List(0,"1",2,"3") l.foreach{_ match {case xx:Int => println(xx);case _ =>}} 提示是“将匹配语句转换为部分函数” 当我改变foreach l.foreach{case x:Int => println(x)} 我得到了scala.MatchError异常.我可以使用collect而不是foreach,但是会生成一个从未使用过的结果List. 有没有一些常见的方法来处理这个问题(像foreach忽略不匹配的值),或者我应该忽略提示? 解决方法
放回默认情况:
val l = List(0,"3") l.foreach { case xx:Int => println(xx); case _ => } IDEA很高兴: 事实上,如果你点击建议的动作,这就是IDEA会产生的(当你的插入符号指向泛黄文本时ALT ENTER) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |