Scala 类型系统
2021-01-19 本文已影响0人
枫叶_huazhe
1.在scala泛型中获取其 Class[T]
需求:获取一个泛型 T 的 class 类型的 Class[T],有两种方法。
获取方式1
def getClassT[T](obj: T): Class[T] = {
val res = obj.getClass.asInstanceOf[Class[T]]
res
}
更优雅的获取方式
def getClassT[T](obj: T)(implicit m: Manifest[T]): Class[T] = {
val res: Class[T] = m.runtimeClass.asInstanceOf[Class[T]]
res
}