代码之家  ›  专栏  ›  技术社区  ›  yiksanchan

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

  •  -2
  • yiksanchan  · 技术社区  · 6 年前

    我想做的是:得到 typeOf[Int] tpe . 它应该推广到除 Int .

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

    非常感谢。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Dmytro Mitin    6 年前

    尝试

    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
    
    推荐文章