我想知道如何避免将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本地方式制作此演员表?
答案 0 :(得分:3)
将您的案例更改为:
case s: String => s
现在它会知道s
是String
。