import scala.reflect.runtime.universe._
object Main {
final type INeedDetails = (Int, String, Unit, Nothing, Float)
def main(args: Array[String]): Unit = println {
typeTag[INeedDetails]
}
}
上面的代码段将会TypeTag[Main.INeedDetails]
。有没有办法从这个(Int, String, Unit, Nothing, Float)
中提取完整的TypeTag
元组信息?
答案 0 :(得分:2)
您可以dealias
标记中的类型:
scala> type INeedDetails = (Int, String, Unit, Nothing, Float)
defined type alias INeedDetails
scala> typeTag[INeedDetails].tpe
res1: reflect.runtime.universe.Type = INeedDetails
scala> typeTag[INeedDetails].tpe.dealias
res2: reflect.runtime.universe.Type = (scala.Int, String, scala.Unit, scala.Nothing, scala.Float)