- 問題代碼:
object Test {
def msgHandler[T: ClassTag](msg: String){
val clazz = classOf[T]) //獲取T的泛型時報錯
...
}
}
- 代碼編譯報錯
class type required but T found
那麼如何通過泛型T獲取到其Class呢
import scala.reflect.ClassTag
import scala.reflect._ //引入反射
object WorkUnitController extends Controller {
def msgHandler[T: ClassTag](msg: String){
val clazz = classTag[T].runtimeClass // 正確的獲取T的泛型方式
...
}
}