我想知道我应该用什么类型来代替XXX
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)发布于 2013-04-15 02:24:12
你可以这样做:
def registerClass(cl:Class[_]) = kryo.register(cl)然后这样叫它:
registerClass(classOf[Int])发布于 2013-04-15 07:08:19
编译时需要知道classOf的类型参数。在不了解更多关于你想要做什么的情况下,有什么理由不能使用:
def registerClass(cl:XXX) = kryo.register(cl.getClass)https://stackoverflow.com/questions/16002533
复制相似问题