Java學習筆記-serializable序列化和生成 serialVersionUID 的設定
阿新 • • 發佈:2021-01-20
技術標籤:java
看程式碼時,發現開發寫的很多的物件都繼承了一個base類,那這個類最終又實現了Serializable介面。
這到底是啥?
序列化,到底是什麼?
我百度了一圈,根據自己的理解,其實序列化,就是把我們的java物件進行一種“流操作”,這種操作讓我們的物件更方便傳輸。
反序列化,就是把“流”轉化成物件,是一種反向的過程。
如何使用呢?
所有的物件(也就是類)實現Serializable介面
這種序列化,一般是在進行遠端呼叫的時候進行使用。
測試程式碼:
public class Student implements Serializable { private static final long serialVersionUID = 8375790720331916965L; private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
注意:如果有些欄位不需要進行序列化呢,那就使用transient用於修飾不需要序列化的欄位
另外,一般情況下,如前面所說,是繼承基礎類,基礎類再實現序列化介面。
IDEA如何自動生成 serialVersionUID 的設定
文章連結:https://blog.csdn.net/hetongun/article/details/81904393(親測可用,我是mac電腦,文章中的快捷鍵,mac帶腦換成option+enter就可以了)