为什么要序列化模型类

时间:2016-08-12 14:03:48

标签: java serialization

我多次看到模型类将实现Serializable,但从未被序列化。

  1. 此处实施Serializable的目的是什么?
  2. 如果不使用序列化,我会错过什么?代码的通信方式是否有任何影响?
  3. public class Stock implements Serializable{
    
        private int stockId;
        private String stockCode;
        private String stockName;
    
        //Getter and setter
    }
    

2 个答案:

答案 0 :(得分:2)

  

实现Serializable的目的是什么?

只是一个标记,表示如果他们愿意,可以提供给班级客户的序列化实例的可能性。

例如,如果您实例化Stock类并且您想要将Stock实例保存在文件中,则可以使用此标记来执行此操作。 API(例如Jaxb或Java本机序列化机制)通常依赖于此接口的实现来序列化类。

  

如果不使用序列化,我会错过什么?是否有任何影响   代码沟通的方式?

未使用它,因为它是标记接口,所以在实例的通信中没有开销或转换。只有在序列化发生时,实例的通信才会发生变化。

答案 1 :(得分:0)

Serializable只是一个没有开销*的标记接口。 如果您希望课程Aimplement serializable而课程A包含类型为Stock的字段,则Stock也应实现可序列化。

可能没有直接的Stock类实例序列化。但它将通过类A实例序列化。

如果希望Stock实例成为

的参数,则还需要实现
type foo(? extends Serializable param)
相关问题