使多个类Serializable是一个好习惯吗?

时间:2015-03-29 07:27:00

标签: java serializable

我想知道如何正确序列化嵌套类。
我的问题是有一个类有一个我需要序列化的数据列表。但是,数据是许多其他类的对象。例如,如果Test1是我的数据类,它有Test1a和其他。

如果我不写“实现Serializable”,我得到的错误就是它 “java.io.NotSerializableException”。

我应该只为所有课程“实施Serializable”吗?

public class Test1 implements Serializable {
     public void save() {
         //some code to save 
     }
     public void load() {
         //some code to load
     }
     public class Test1a {   
          //something related
     }
}

1 个答案:

答案 0 :(得分:4)

是。如果你不想序列化一个类,那么它所依赖的所有类也应该是Serializable,如果你想序列化它们的话。如果您不希望序列化类的成员,请将其标记为瞬态。当您将某些内容标记为瞬态时,它将不会被序列化。这意味着当您反序列化一个Object并且它有一个瞬态成员时,该瞬态成员将获得一个默认值。