java修飾符——transient

來源:互聯網
上載者:User

標籤:

一、背景

上星期去CRM上開發一個功能,該系統裡面有自動分頁,需要在實體類裡加入一個分頁變數

    // 分頁    private PageInfo pageInfo = new PageInfo();

這個本來沒有什麼影響,但在抽離介面jar包的時候,所用到的類必須實現序列化介面

而這個PageInfo對象因為在抽離的類中,所以PageInfo類也必須實現序列化,十分不爽

因為PageInfo類不是我們開發的,修改這個類去實現序列化介面不好

transient是個不常用的修飾符,這時它的作用就體現出來了

二、transient修飾符

transient是Java語言的關鍵字,用來表示一個域不是該對象序列化的一部分。

當一個對象被序列化的時候,transient型變數的值不包括在序列化的表示中,然而非transient型的變數是被包括進去的。 

    // 分頁實體    private transient PageInfo pageInfo = new PageInfo();

這樣匯出介面jar包時,還是需要匯出PageInfo類,但至少PageInfo類不需要實現序列化介面了

三、適用情境

在類實現序列化介面,而類下某個變數不想被序列化的情況下,用transient修飾該變數,可避免該變數被序列化

java修飾符——transient

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.