【发布时间】:2011-01-12 12:16:42
【问题描述】:
我想在序列化数据流中将字符串“com.oldpackage.className”替换为“com.newPackage.className”。这个序列化的数据是从数据库中读取的,并在替换字符串后更新。
我在做同样的事情时遇到了一些问题。如果您已经猜到了,这是重构练习的一部分。是否有任何库可以帮助我处理序列化数据?如果您还可以评论任何预防措施或警告,那将有很大帮助。
非常感谢, 克里斯。 P.S:旧类和新类都没有将序列版本 ID 声明为其字段的一部分。
【问题讨论】:
-
如果枚举的名称是 com.oldPackage.Person 并且新名称是 com.newPack.Person 我还应该在序列化数据中替换什么:1) 将 com.oldPackage.Person 替换为com.newPack.Person 2) 将 com/oldPackage/Person 替换为 com/newPack/Person
-
由于还有一个名为 com.oldPackage.PersonDetails 的类并且会受到上述操作的影响,所以我执行以下操作: 3) 将 com.newPack.PersonDetails(result of 1) 替换为 com .oldPackage.PersonDetails 4) 用 com/oldPackage/PersonDetails 替换 com/newPack/PersonDetails((result of 2)) 如果我遗漏了什么,你能帮我吗?
标签: java serialization refactoring