【发布时间】:2020-01-10 19:12:44
【问题描述】:
我有一个程序在执行时可以产生一个抽象的 TypeTag:
class TypeResolving extends FunSpec {
import org.apache.spark.sql.catalyst.ScalaReflection.universe._
val example = new Example
it("can convert") {
val t1 = implicitly[TypeTag[example.T]]
println(t1)
}
}
object TypeResolving {
class Example {
type T = Map[String, Int]
}
val example = new Example
}
执行结果为:
TypeTag[TypeResolving.this.example.T]
由于在这种情况下 example.T 已经定义,我还想获取实际的 TypeTag:
TypeTag[Map[String,Int]]
我怎么去那里?
【问题讨论】:
标签: scala type-erasure scala-reflect