Java Serializable和Parcelable詳解及實例代碼
對 Serializable和Parcelable理解
1、首先他們兩個接口都是為了實現(xiàn)對象的序列化,使之可以傳遞,所謂序列化就是將對象信息裝換成可以存儲的介質的過程。
2、Serializable是jdk所提供的序列化接口,該接口存在于io包下,可想用于輸入輸出,使用非常簡單,只要讓你的類實現(xiàn)此接口就ok了;可以使用transient關鍵字修飾你不想序列化的屬性。
3、Parcelable是sdk所提供的序列化接口,使用較上者麻煩,實現(xiàn)此接口后,需要重寫writeToParcel方法,將需要序列化的屬性寫入Parcel中;
然后還需要CERATOR靜態(tài)成員屬相,以便從parcel中取出數(shù)據(jù)。如下
public static final Creator<Pen> CREATOR = new Creator<Pen>() { @Override public Pen createFromParcel(Parcel in) { return new Pen(in); } @Override public Pen[] newArray(int size) { return new Pen[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(color); dest.writeInt(size); }
4、兩種都是用于支持序列化、反序列化話操作,兩者最大的區(qū)別在于存儲媒介的不同,Serializable使用IO讀寫存儲在硬盤上,而Parcelable是直接在內存中讀寫,很明顯內存的讀寫速度通常大于IO讀寫,所以在Android中通常優(yōu)先選擇Parcelable。
通過此文希望能幫助有需要的小伙伴,徹底理解Java Serializable和Parcelable的知識,謝謝大家對本站的支持!
- java 中序列化NotSerializableException問題解決辦法
- java中Serializable接口作用詳解
- Serializable接口的作用_動力節(jié)點Java學院整理
- java 序列化對象 serializable 讀寫數(shù)據(jù)的實例
- Java動態(tài)獲取實現(xiàn)某個接口下所有的實現(xiàn)類對象集合
- 淺談java web中常用對象對應的實例化接口
- 淺談java 面對對象(抽象 繼承 接口 多態(tài))
- Java多態(tài)和實現(xiàn)接口的類的對象賦值給接口引用的方法(推薦)
- Java對象Serializable接口實現(xiàn)詳解
相關文章
詳解使用spring validation完成數(shù)據(jù)后端校驗
這篇文章主要介紹了詳解使用spring validation完成數(shù)據(jù)后端校驗,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03springboot源碼中this::selfInitialize怪異用法的含義解析
這篇文章主要介紹了springboot源碼中this::selfInitialize怪異用法的含義解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03Swagger-boostrap-ui如何配置用戶名密碼訪問
這篇文章主要介紹了Swagger-boostrap-ui如何配置用戶名密碼訪問,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05詳談Enumeration接口和Iterator接口的區(qū)別
下面小編就為大家?guī)硪黄斦凟numeration接口和Iterator接口的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08java數(shù)學歸納法非遞歸求斐波那契數(shù)列的方法
這篇文章主要介紹了java數(shù)學歸納法非遞歸求斐波那契數(shù)列的方法,涉及java非遞歸算法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07