0
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

4

1 回答 1

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)
于 2017-11-08T21:36:43.460 回答