我有
class A { @xstreamalias("obj1"); Object obj1; @xstreamalias("obj2"); Object obj2; } and I want to change to class AbstractA { @xstreamalias("obj1"); Object obj1; } class A extends AbstractA{ @xstreamalias("obj2"); Object obj2; }
不会丢失 obj1 的内容。
目前我在阅读旧的 xml 时没有遇到任何问题,除了我丢失了 obj1 的内容。 xstream 是否支持此功能?我的意思是,抽象在模型变更中是很常见的事情。
最佳答案
只要 XML 仍然适合,XStream 并不真正关心 A 是否是子类。
我的建议:将新类 A 的序列化结果与旧类 A 的序列化结果进行比较(它们应该相同)。如果没有,那么这就是您问题的根源。
关于java - xstream > 在模型中进行抽象时的向后兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1833458/