【发布时间】:2018-08-03 15:31:35
【问题描述】:
我已经实现了一种方法,该方法应该将字符串数组转换为单个字符串。但是在将它与 UDF 一起使用并将 UDF 应用于列时出现异常: val concatUdf = udf(convertArray)
java.lang.ClassCastException: scala.collection.mutable.WrappedArray$ofRef cannot be cast to [Ljava.lang.String;
为了返回有效的字符串,在我当前的实现中应该改进什么?我是 Scala 新手,可能这不是最优雅的解决方案。
def convertArray: Array[String] => String =
(strings: Array[String]) => {
Option(strings) match {
case Some(arr) => strings.mkString(", ")
case Some(Array()) => ""
case None => ""
}
}
【问题讨论】: