如果对象已移动到另一个包或重命名,如何反序列化该对象?
2022-09-01 01:23:38
请考虑以下情况:
有一个由旧版本的应用程序创建的序列化文件。遗憾的是,该类的包已更改,该类已序列化。现在我需要将此文件中的信息加载到同一类中,但位于不同的包中。此类已定义且未更改(即兼容)。serialVersionUID
问:是否可以使用任何技巧从此文件加载新的类实例(除了将类复制到旧包中,然后使用反序列化包装器逻辑的简单操作)?是否可以使用 readResolve()
从移动/重命名类中恢复?如果没有,请解释原因。