我有这段代码一般将 String 转换为 Dto,如果我使用 Manifest 和 ClassTag,我都可以使用方法运行时类获取运行时类,但是TypeTag没有这个方法
class ObjectMapper[T] {
def readValue(x: String, t: Class[T]): T = ???
}
class Reader {
def read[W: Manifest](x: String): W = {
val mapper = new ObjectMapper[W]
mapper.readValue(x, implicitly[Manifest[W]].runtimeClass.asInstanceOf[Class[W]])
}
}
我可以知道为什么 TypeTag 没有方法 runtimeClass
提前谢谢了
假设TypeTag
来自scala.reflect.runtime.universe
,你可以得到这样的类:
def runtimeClass(tag: TypeTag) = tag.mirror.runtimeClass(tag.tpe)
它没有这个方法,因为不是所有的TypeTag
s 来自运行时宇宙。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)