使用TypeTag
我已经能够检索有关我的多态类型的类型信息。
scala> paramInfo(List(1,2)).tpe
res18: reflect.runtime.universe.Type = List[Int]
现在我想要检索Int.type
,但显然我无法这样做。
scala> paramInfo(List(1,2)).tpe.typeParams
res19: List[reflect.runtime.universe.Symbol] = List()
我想做什么,如果是,我该怎么做?
答案 0 :(得分:1)
你需要
paramInfo(List(1,2)).tpe match {
case TypeRef(_, _, params) => params
}
答案 1 :(得分:0)
您只需更改paramInfo
的签名即可:
def paramInfo[T](x: List[T])(implicit tag: TypeTag[T]): TypeTag[T] = tag