0
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])
}