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
}
上一篇下一篇

猜你喜欢

热点阅读