从typeOf [List [Int]]获取typeOf [Int]

时间:2018-09-22 04:46:32

标签: scala scala-reflect

我想要做的是:从typeOf[Int]获取tpe。它应该概括为Int以外的任何类型。

val tpe = typeOf[List[Int]]
val ??? = typeOf[Int]

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试

import scala.reflect.runtime.universe._
val tpe = typeOf[List[Int]]
tpe.typeArgs.head == typeOf[Int] // true

import scala.reflect.runtime.universe._
type T = List[Int]
val tpe = typeOf[T]
tpe.dealias.typeArgs.head == typeOf[Int] // true