例如:
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
类型
整个match
语句也可以写成一系列if
语句:
if (castType.isInstanceOf[ByteType]) {
datum.toByte
} else if (castType.isInstanceOf[....
...
但这是很丑陋的,不是吗?
关于scala - 案例_ : mean in scala是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30767360/