Использование Kryo для чтения сериализованного объекта легко, когда я знаю конкретный тип класса, но если я хочу создать метод, который использует простой общий тип, как это сделать? У меня есть код, который не может быть скомпилирован:Как читать сериализованный объект методом, использующим общий тип Scala/Kryo?
def load[T](path: String): T = {
val instantiator = new ScalaKryoInstantiator
instantiator.setRegistrationRequired(false)
val kryo = instantiator.newKryo()
val input = new Input(FileUtils.readFileToByteArray(new File(path)))
kryo.readObject[T](input, classOf[T])
}
Ошибка у меня есть:
class type required but T found
kryo.readObject[T](input, classOf[T])
Я знаю, что означает, что ошибка, но не знаю, правильный путь, чтобы исправить это.
код модифицируется моей оригинальной типоспецифичной код:
def load(path: String): SomeClassType = {
val instantiator = new ScalaKryoInstantiator
instantiator.setRegistrationRequired(false)
val kryo = instantiator.newKryo()
val input = new Input(FileUtils.readFileToByteArray(new File(path)))
kryo.readObject(input, classOf[SomeClassType])
}