我多次看到模型类将实现Serializable
,但从未被序列化。
Serializable
的目的是什么?
public class Stock implements Serializable{
private int stockId;
private String stockCode;
private String stockName;
//Getter and setter
}
答案 0 :(得分:2)
实现Serializable的目的是什么?
只是一个标记,表示如果他们愿意,可以提供给班级客户的序列化实例的可能性。
例如,如果您实例化Stock类并且您想要将Stock实例保存在文件中,则可以使用此标记来执行此操作。 API(例如Jaxb或Java本机序列化机制)通常依赖于此接口的实现来序列化类。
如果不使用序列化,我会错过什么?是否有任何影响 代码沟通的方式?
未使用它,因为它是标记接口,所以在实例的通信中没有开销或转换。只有在序列化发生时,实例的通信才会发生变化。
答案 1 :(得分:0)
Serializable
只是一个没有开销*的标记接口。
如果您希望课程A
至implement serializable
而课程A
包含类型为Stock
的字段,则Stock
也应实现可序列化。
可能没有直接的Stock
类实例序列化。但它将通过类A
实例序列化。
如果希望Stock
实例成为
type foo(? extends Serializable param)