【发布时间】:2013-12-01 11:00:21
【问题描述】:
这个想法是,例如我们得到了一些对象的类型:
val tm = getTypeTag("String here").tpe
//> tm: reflect.runtime.universe.Type = java.lang.String
// for example I got another val or var, of some type:
val tmA: Any = "String here"
//> tmA: Any = String here
tmA.InstanceOf(tm)(是助记码)怎么写?因为tm 不是类型别名,我们不能准确地制作InstanceOf[tm]。
已编辑
我的意思是asIstanceOf 的模拟函数,用于进行类型转换
EDITED2
我会自己回答部分问题。所以如果我们有TypeTags 就很容易了!
def tGet[T](t: TypeTag[T], obj: Any): T = obj.asInstanceOf[T]
如果我们只得到Type 而不是整个TypeTag[T],情况会更加困难。
【问题讨论】:
标签: scala reflection types runtime