我有一个Pilot
类,以及该类的一个实例:bobThePilot
。
我将bobThePilot
序列化为String
并将其复制到我的硬盘上。然后我创建一个新项目并重新创建Pilot
类(与之前完全相同)....
然后我通过反序列化从磁盘中获取的String来在这个新项目中创建newBobThePilot
。但它失败了。每个人都说这是因为名为serialVersionUID
的东西。
是否可以这样做(在不同的类中序列化和反序列化(尽管完全相同的类)?如果是这样,怎么做?
感谢。
private static final long serialVersionUID = 1L;
implements serializable
到与序列化类相关的所有类
答案 0 :(得分:0)
如果您没有输入序列版本ID,序列化运行时将根据类的各个方面计算该类的默认serialVersionUID值。即使类是相同的,JDK的不同版本也可以创建不同的serialversionuids。
答案 1 :(得分:0)
但它失败了。
失败了怎么办?
每个人都说是因为名为serialVersionUID的东西。
除非错误消息如此说明。可能是因为您使用String作为二进制数据容器的原始错误。它不是。只需写出实际的字节,不要通过String往返它们。
是否可以这样做(在不同的类中序列化和反序列化
没有