泛型时需要用到,直接上代码!!!
For example:
scala> import scala.reflect.ClassTag
scala> def mkArray[T : ClassTag](elems: T*) = Array[T](elems: _)
mkArray: [T](elems: T)(implicit evidence$1: scala.reflect.ClassTag[T])Array[T]
scala> mkArray(42, 13)
res0: Array[Int] = Array(42, 13)
scala> mkArray(“Japan”,“Brazil”,“Germany”)
res1: Array[String] = Array(Japan, Brazil, Germany)
ClassTag[T]存储给定类型T的已删除类,可通过runtimeClass字段访问。这对于实例化在编译时元素类型未知的数组特别有用。
A ClassTag[T] stores the erased class of a given type T, accessible via the runtimeClass field. This is particularly useful for instantiating Arrays whose element types are unknown at compile time.