已知一个scala.reflect.runtime.universe.Type,如何把一个类型为Any的值转换为这个Type

   import reflect.runtime.{universe => ref}
   val v1 = 1
   val v2 = List(1)
   val v3 = Array(1)
   def getType[T: TypeTag](x: T) = ref.typeOf[T]
   val array = Array((getType(v1), v1),
                     (getType(v2), v2),
                     (getType(v3), v3))

这时array的类型是Array[(scala.reflect.runtime.universe.Type, Any)],如何从这个array中获得v1v2v3的值?

阅读 3.5k
1 个回答
scala> import reflect.runtime.universe._
scala> getType(1) == typeOf[Int]
res7: Boolean = true

这不就可以了么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进