加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读