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