class type required but T found 获取Scala泛型的Class

  • 问题代码:
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的泛型方式
		  ...
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章