1. 程式人生 > 其它 >Java學習筆記-serializable序列化和生成 serialVersionUID 的設定

Java學習筆記-serializable序列化和生成 serialVersionUID 的設定

技術標籤: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就可以了)