Java Transient Keyword Tutorial - 瞬態變量是不能序列化的變量

已發表: 2020-08-23

Java 瞬態關鍵字教程 - Crunchify

如果您需要序列化對象,則可以選擇通過將特定字段marking it as transient來跳過序列化特定字段。

transient是一個 Java 關鍵字,它標記成員變量在持久化為字節流時不被序列化。

什麼時候需要序列化一個對象?

當一個 Java 對象通過網絡傳輸時,該對象needs to be serialized 。 序列化將對象狀態轉換為串行字節。

讓我們看一下瞬態Java示例

  1. 首先讓我們創建一個 POJO 對象 CrunchifyTransientVariableObject 實現 Serializable。
  2. 創建主類 CrunchifyJavaTransientFieldTutorial。
    • 創建一個對象。
    • 將對象寫入文件。 文件輸出流是用於將數據寫入 File 或 FileDescriptor 的輸出流。
    • 讀取一個對象。
    • 如果字段是瞬態的——它將返回 0(對於 int)、null(對於字符串字段)等等。

CrunchifyTransientVariableObject.java

這裡homeZip是一個瞬態變量。

CrunchifyJavaTransientFieldTutorial.java

運行程序:

使用瞬態關鍵字:

沒有瞬態關鍵字:

刪除上述程序中的瞬態關鍵字並再次重新運行程序。

如您在上面看到的,現在我們可以看到郵政編碼 95112。

如果您發現序列化對象和瞬態變量有任何問題,請告訴我。