java - 序列化和子类

标签 java android serialization

如果我将一个类定义为 Serialiable,那么当我创建一个子类时,它会要求我定义一个 serialVersionUID。这是必要的还是我可以依赖父类(super class)中的那个?

最佳答案

我曾经在单独的(可能是顶级类)中声明一次 SerialVersionUID,例如:

public static final long GlobalSerialVersionUID=0L;

然后在每个 Serializable 类中声明:

private static final long serialVersionUID = MyTopClass.GlobalSerialVersionUID;

这种方法将保证您始终拥有相同的 SerialVersionUID,并且如果您要在不同序列化版本之间实现数据交换 - 您可以在不同序列化版本之间分支代码。

关于java - 序列化和子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5549077/

相关文章:

c# - 为 MongoDb 处理可为空和不可为空类型的自定义序列化程序

java - 单击 ListView 项时如何在详细 Activity 上加载 Firebase DB 值

Java排序方法支持方法链吗?

android - facebook native android 应用程序不接受我的 key 哈希

java - 转换为 Dalvik 格式失败 : Unable to execute dex: Multiple dex files define Lcom/squareup/okhttp/Address;

.net - XML 序列化继承类时出现 InvalidOperationException

java - 使用 implements Serializable 时在类型 com.sun.proxy.$Proxy127 上找不到属性

java - 如何通过 Java 中的递归深度优先搜索确定图中两个节点是否相连?

java - 如果想使用 jQuery,哪个 Java Web 框架最好

android - 如何在日期时间选择器中禁用 android 中的某些日期