Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用HashMap反序列化Scala类_Java_Scala_Serialization_Collections_Hashmap - Fatal编程技术网

Java 使用HashMap反序列化Scala类

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 从我们的研究来看,这

我们希望序列化和反序列化一些Scala类(以实现此处建议的对象的深度复制)

我们面临的问题是这些类有几个HashMap成员字段。HashMap的键是一个POJO,比如说
MyCustomKey
不是像String/Int那样的基本类型)

myHashMap=mutable.HashMap[MyCustomKey,Double]

使用这样的HashMap对Scala类进行序列化工作正常,但尝试反序列化会在
MyCustomKey
类上引发
ClassNotFoundException


从我们的研究来看,这似乎是不可能的。这是正确的还是有什么办法?

我认为您应该进一步了解如何实际使用Scala。通常,您使用的是不可变对象,不需要创建相同的副本。如果要复制不可变对象,请研究如何实现copy()定义。Case类已经有了这个功能。是的,我们不能使用Case类,因为正如您所说的,建议它们具有不可变的成员(仅限VAL,无VAR)。我们需要成员是可变的,所以我们不能在这里使用猜测案例类。