Scala识别带有模式匹配的字符串

时间:2016-12-22 13:47:27

标签: string scala casting any

我想知道如何避免将Any转换为String,而是使用模式匹配。

从spark like df.select('column).first.toSeq.head收集了一个数据框 直接铸造排序是一种解决方法df.select('column).first.toSeq.head.asInstanceOf[String],但是 我更喜欢使用scala本机模式匹配,如

val collectedFromSpark: Any = "someString"
  val realString:String = collectedFromSpark match{
    case s:String => _
    case _ => throw new Exception("expected something else")
  }

但是,realString:String仅接收Any而不是String

如何以scala本地方式制作此演员表?

1 个答案:

答案 0 :(得分:3)

将您的案例更改为:

case s: String => s

现在它会知道sString