1
我有Scala類的等形式的列表:得到classOf [數組[A]]從classOf [A]
List(classOf[A], classOf[B], ...)
我需要註冊這些類以及類的數組KRYO。結果是這樣的:
kryo.register(classOf[A])
kryo.register(classOf[Array[A]])
kryo.register(classOf[B])
kryo.register(classOf[Array[B]])
...
所以,隨着清單的掌握,我可能只是使用foreach來註冊類和類的數組。
但是,我無法從classOf [A]獲取classOf [Array [A]]。我曾嘗試ClassTag如下方法:
def getArrayClass[T: ClassTag](c: Class[T]): Class[_] = {
classOf[Array[T]]
}
結果是不正確的(雖然兩者的結果的類型是相同的),和KRYO仍抱怨類未註冊:A []。
scala> getArrayClass(classOf[A])
res0: Class[Array[A]] = class java.lang.Object
scala> classOf[Array[A]]
res1: Class[Array[A]] = class [LA;
任何線索?謝謝。
它的作品!涼! – Ambling