scala 中有没有办法取到泛型的类型

vii779 2010-04-29
例如

class Foo[T] {
   def getType:Class[T]{
      //取到T的类型
   }

  
}

new Foo[Stirng].getType 返回值为Class[String]
new Foo[File].getType 返回值为Class[File]

红色部分如何实现?可以做到吗?
Eastsun 2010-04-29
Scala 2.8
scala> class Foo[T: Manifest] {
     |     def getType = implicitly[Manifest[T]].erasure
     | }
defined class Foo

scala> (new Foo[String]).getType
res0: java.lang.Class[_] = class java.lang.String

scala> (new Foo[Int]).getType
res1: java.lang.Class[_] = int

scala>
vii779 2010-04-29
不错,比java好用多了。java里面很难处理这样的问题。
请问哪里有Manifest的详细介绍?
Global site tag (gtag.js) - Google Analytics