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

case _是什么意思:scala中的意思

发布时间:2020-12-16 09:55:16 所属栏目:安全 来源:网络整理
导读:例如: castType match { case _: ByteType = datum.toByte case _: ShortType = datum.toShort case _: IntegerType = datum.toInt case _ = throw new RuntimeException(s"Unsupported type: ${castType.typeName}") } 到底是什么:做什么? ”是一个占位
例如:

castType match {                                                                                  
      case _: ByteType => datum.toByte  
      case _: ShortType => datum.toShort                                                              
      case _: IntegerType => datum.toInt
      case _ => throw new RuntimeException(s"Unsupported type: ${castType.typeName}") 
    }

到底是什么:做什么? ”是一个占位符,通常意味着“匹配任何东西”,但“:”是做什么的?如何处理“ByteType”类型?

解决方法

case _:ByteType =>表示匹配的对象必须是ByteType类型

整个匹配语句也可以写成一系列if语句:

if (castType.isInstanceOf[ByteType]) {
   datum.toByte
} else if (castType.isInstanceOf[....
...

但那会很难看,不是吗?

(编辑:李大同)

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

    推荐文章
      热点阅读