【发布时间】:2021-07-17 04:40:17
【问题描述】:
我有一个方法:
object Object1{
def method1[T >: Null: ClassTag: TypeTag](input: String): T = {
val m = new ObjectMapper() with ScalaObjectMapper
m.registerModule(DefaultScalaModule)
Option(input)
.map(m.readValue[T](_, classTag[T].runtimeClass.asInstanceOf[Class[T]]))
.orNull
}
}
我想动态地将类型传递给这个方法,我试过这样:
import spark.implicits._
def getHome[T](s: Dataset[Sig], someString: String): Dataset[T] = {
s.filter(s => (s.sType == someString))
.map(s => Object1.method1[T](s.sDetails))
}
但我收到错误:没有为参数evidence$6 找到隐含。 我还导入了implicits。在 Scala 中实现上述逻辑的最佳方法是什么?
【问题讨论】: