[英]Scala identify string with pattern matching
I wonder how to avoid casting Any
to String
but rather use pattern matching. 我不知道如何避免将
Any
为String
而是使用模式匹配。
Having collected a dataframe from spark like df.select('column).first.toSeq.head
Direct casting sort of is a workaround df.select('column).first.toSeq.head.asInstanceOf[String]
, but I would prefer to use scala native pattern matching like 已经从
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")
}
However, realString:String
only receives Any
and not String
. 但是,
realString:String
仅接收Any
,而不接收String
。
How can I formulate this cast in a scala native way? 如何以scala本机方式制定演员表?
Change your case to this: 将您的情况更改为此:
case s: String => s
Now it will know that s
is a String
. 现在它将知道
s
是一个String
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.