Android:如果我将serialVersionUID添加到旧的可序列化对象会发生什么?
如果您使用一个从未显式指定serialVersionUID的旧的可序列化对象,并将serialVersionUID添加到该对象,会发生什么? 在我看来,下次应用程序被最终用户更新时,它会尝试从光盘反序列化数据,发现serialVersionUID不匹配,用来自server / db /的新数据覆盖数据,之后你好的。 我在这个假设中是否正确? 还有其他问题我应该警惕这样做吗?
private class X implements serializable {... private static final long serialVersionUID = 0L;
- 如果通过在类上运行
serialver
工具显示的值与现在相同,则没有任何反应。 - 如果为其赋予不同的值,则包含该类的现有串行流的进一步反序列化将因
InvalidClassException
而失败。
在我看来,下次应用程序被最终用户更新时,它会尝试从光盘反序列化数据
正确。
发现serialVersionUID不匹配
只有它确实不匹配。 如果您遵循上面的建议,它将匹配。
用来自server / db /的新数据覆盖数据
不正确。 往上看。
之后你很好。
没有。
我在这个假设中是否正确?
没有。
- E / ddms IllegalArgumentException安装了32位和64位Java JRE的“错误版本”
- RxJava – Observable的zip列表
- 在android中调用soap webservice
- (a)Smack在登录时返回“service-unavailable(503)”错误()
- 如何在16khz 16bit mono little-endian中转换或录制.wav文件?
- LatinIME dicttool用于V401二进制字典
- 随机com.android.volley.NoConnection错误,java.io.InterruptedIOException,statuscode = 0
- 将HTTP 407错误作为IOException
- android中的Ksoap2无法序列化