使多个 类 可序列化是好习惯吗?
Is it good practice to make multiple classes Serializable?
我想知道如何正确序列化嵌套的 classes。
我的问题是有一个 class 有一个我需要序列化的数据列表。不过,数据是许多其他 classes 的对象。例如,如果 Test1 是我的数据 class,它有 Test1a 和其他人。
如果我不写 "implements Serializable" 我得到的错误是
"java.io.NotSerializableException"。
我应该 "implement Serializable" 我所有的 class 吗?
public class Test1 implements Serializable {
public void save() {
//some code to save
}
public void load() {
//some code to load
}
public class Test1a {
//something related
}
}
是的。如果你不想序列化一个 class,它所依赖的所有 class 也应该是可序列化的,如果你想序列化它们的话。如果您不想序列化 class 的成员,请将其标记为瞬态。当您将某些内容标记为瞬态时,它不会被序列化。这意味着当你反序列化一个对象并且它有一个瞬态成员时,该瞬态成员将获得一个默认值。
我想知道如何正确序列化嵌套的 classes。
我的问题是有一个 class 有一个我需要序列化的数据列表。不过,数据是许多其他 classes 的对象。例如,如果 Test1 是我的数据 class,它有 Test1a 和其他人。
如果我不写 "implements Serializable" 我得到的错误是 "java.io.NotSerializableException"。
我应该 "implement Serializable" 我所有的 class 吗?
public class Test1 implements Serializable {
public void save() {
//some code to save
}
public void load() {
//some code to load
}
public class Test1a {
//something related
}
}
是的。如果你不想序列化一个 class,它所依赖的所有 class 也应该是可序列化的,如果你想序列化它们的话。如果您不想序列化 class 的成员,请将其标记为瞬态。当您将某些内容标记为瞬态时,它不会被序列化。这意味着当你反序列化一个对象并且它有一个瞬态成员时,该瞬态成员将获得一个默认值。