我想知道的輸入型我到位XXX是什麼classOf
編輯def registerClass(cl:XXX) = kryo.register(classOf[cl])
什麼類型:對於我爲什麼要這麼做。我不得不使用上面的代碼註冊很多類。我想刪除調用kyro.register幾次的重複,希望能寫代碼象下面這樣:
Seq(com.mypackage.class1,com.mypackage.class2,com.mypackage.class3).foreach(registerClass)
另一個問題,我可以通過字符串呢?並將其轉換爲registerClass中的類?
Seq("com.mypackage.class1","com.mypackage.class2").foreach(registerClass)
編輯2: 當我寫com.mypackage.class1,這意味着在我的源代碼中定義的任何類。所以,如果我創建了一個類
package com.mypackage.model
class Dummy(val ids:Seq[Int],val name:String)
我將提供com.mypackage.model.Dummy作爲輸入 所以,
kryo.register(classOf[com.mypackage.model.Dummy])
KRYO Java序列庫。寄存器類的簽名是
register(Class type)
你可以顯示什麼'com.mypackage.class1'看起來像? 'kryo'上的'register'方法簽名是什麼? –
如果'class1'是一個類的定義,我懷疑你將不得不使用EECOLOR的'Seq(classOf [com.mypackage.class1],...)。foreach(registerClass)' –
@KristianDomagala創建的編輯2進一步澄清。 – RAbraham