Java 使用HashMap反序列化Scala类
我们希望序列化和反序列化一些Scala类(以实现此处建议的对象的深度复制) 我们面临的问题是这些类有几个HashMap成员字段。HashMap的键是一个POJO,比如说Java 使用HashMap反序列化Scala类,java,scala,serialization,collections,hashmap,Java,Scala,Serialization,Collections,Hashmap,我们希望序列化和反序列化一些Scala类(以实现此处建议的对象的深度复制) 我们面临的问题是这些类有几个HashMap成员字段。HashMap的键是一个POJO,比如说MyCustomKey(不是像String/Int那样的基本类型) myHashMap=mutable.HashMap[MyCustomKey,Double] 使用这样的HashMap对Scala类进行序列化工作正常,但尝试反序列化会在MyCustomKey类上引发ClassNotFoundException 从我们的研究来看,这
MyCustomKey
(不是像String/Int那样的基本类型)
myHashMap=mutable.HashMap[MyCustomKey,Double]
使用这样的HashMap对Scala类进行序列化工作正常,但尝试反序列化会在MyCustomKey
类上引发ClassNotFoundException
从我们的研究来看,这似乎是不可能的。这是正确的还是有什么办法?我认为您应该进一步了解如何实际使用Scala。通常,您使用的是不可变对象,不需要创建相同的副本。如果要复制不可变对象,请研究如何实现copy()定义。Case类已经有了这个功能。是的,我们不能使用Case类,因为正如您所说的,建议它们具有不可变的成员(仅限VAL,无VAR)。我们需要成员是可变的,所以我们不能在这里使用猜测案例类。