如果您使用一个从未显式指定serialVersionUID的旧的可序列化对象,并将serialVersionUID添加到该对象,会发生什么?在我看来,下次应用程序被最终用户更新时,它会尝试从光盘反序列化数据,发现serialVersionUID不匹配,用来自server / db /的新数据覆盖数据,之后你好的。我在这个假设中是否正确?还有其他问题我应该警惕这样做吗?
private class X implements serializable {...
private static final long serialVersionUID = 0L;
答案 0 :(得分:2)
serialver
工具一样,没有任何反应。InvalidClassException
。在我看来,下次应用程序被最终用户更新时,它会尝试从光盘反序列化数据
正确。
发现serialVersionUID与
不匹配
只有它确实不匹配。如果您遵循上述建议,它将匹配。
使用来自server / db /的任何
的新数据覆盖数据
不正确的。见上文。
之后你很好。
没有
我在这个假设中是否正确?
没有