搜尋
首頁JavaJava基礎java如何實現序列化

java如何實現序列化

Nov 14, 2019 am 11:47 AM
java

序列化就是一種用來處理物件流的機制,所謂物件流也就是將物件的內容進行流化。

java如何實現序列化

可以對流化後的物件進行讀寫操作,也可將流化後的物件傳送於網路之間。序列化是為了解決物件流讀寫操作時可能引發的問題(如果不進行序列化可能會存在資料亂序的問題)。 (推薦學習:java課程

要實現序列化,需要讓一個類別實作Serializable接口,該接口是一個標識性接口,標註該類別物件是可被序列化的,然後使用一個輸出流來建構一個物件輸出流並透過writeObject(Object obj)方法就​​可以將實現物件寫出(即保存其狀態)

如果需要反序列化則可以用一個輸入流建立物件輸入流,然後透過readObject方法從流中讀取物件。序列化除了能夠實現物件的持久化之外,還能夠用於物件的深度克隆。

為了示範序列化在Java中是怎樣運作的,我將使用先前教學中提到的Employee類,假設我們定義瞭如下的Employee類,該類別實作了Serializable 介面。

public class Employee implements java.io.Serializable
{
   public String name;
   public String address;
   public transient int SSN;
   public int number;
   public void mailCheck()
   {
      System.out.println("Mailing a check to " + name
                           + " " + address);
   }
}

請注意,一個類別的物件要序列化成功,必須滿足兩個條件:

該類別必須實作 java.io.Serializable 介面。

該類別的所有屬性必須是可序列化的。如果有一個屬性不是可序列化的,則該屬性必須註明是短暫的。

如果你想知道一個 Java 標準類別是否是可序列化的,請查看該類別的文件。檢驗一個類別的實例是否能序列化十分簡單, 只需要查看該類別有沒有實作 java.io.Serializable介面。

以上是java如何實現序列化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具