Java Serializable和Parcelable詳解及實(shí)例代碼
對(duì) Serializable和Parcelable理解
1、首先他們兩個(gè)接口都是為了實(shí)現(xiàn)對(duì)象的序列化,使之可以傳遞,所謂序列化就是將對(duì)象信息裝換成可以存儲(chǔ)的介質(zhì)的過(guò)程。
2、Serializable是jdk所提供的序列化接口,該接口存在于io包下,可想用于輸入輸出,使用非常簡(jiǎn)單,只要讓你的類實(shí)現(xiàn)此接口就ok了;可以使用transient關(guān)鍵字修飾你不想序列化的屬性。
3、Parcelable是sdk所提供的序列化接口,使用較上者麻煩,實(shí)現(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ū)別在于存儲(chǔ)媒介的不同,Serializable使用IO讀寫存儲(chǔ)在硬盤上,而Parcelable是直接在內(nèi)存中讀寫,很明顯內(nèi)存的讀寫速度通常大于IO讀寫,所以在Android中通常優(yōu)先選擇Parcelable。
通過(guò)此文希望能幫助有需要的小伙伴,徹底理解Java Serializable和Parcelable的知識(shí),謝謝大家對(duì)本站的支持!
- java 中序列化NotSerializableException問題解決辦法
- java中Serializable接口作用詳解
- Serializable接口的作用_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- java 序列化對(duì)象 serializable 讀寫數(shù)據(jù)的實(shí)例
- Java動(dòng)態(tài)獲取實(shí)現(xiàn)某個(gè)接口下所有的實(shí)現(xiàn)類對(duì)象集合
- 淺談java web中常用對(duì)象對(duì)應(yīng)的實(shí)例化接口
- 淺談java 面對(duì)對(duì)象(抽象 繼承 接口 多態(tài))
- Java多態(tài)和實(shí)現(xiàn)接口的類的對(duì)象賦值給接口引用的方法(推薦)
- Java對(duì)象Serializable接口實(shí)現(xiàn)詳解
相關(guān)文章
詳解使用spring validation完成數(shù)據(jù)后端校驗(yàn)
這篇文章主要介紹了詳解使用spring validation完成數(shù)據(jù)后端校驗(yàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03springboot源碼中this::selfInitialize怪異用法的含義解析
這篇文章主要介紹了springboot源碼中this::selfInitialize怪異用法的含義解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03javaCV開發(fā)詳解之收流器實(shí)現(xiàn)
這篇文章主要介紹了javaCV開發(fā)詳解之收流器實(shí)現(xiàn),對(duì)javaCV有研究的同學(xué),可以參考下2021-04-04Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例
這篇文章主要介紹了Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10Swagger-boostrap-ui如何配置用戶名密碼訪問
這篇文章主要介紹了Swagger-boostrap-ui如何配置用戶名密碼訪問,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05詳談Enumeration接口和Iterator接口的區(qū)別
下面小編就為大家?guī)?lái)一篇詳談Enumeration接口和Iterator接口的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08java數(shù)學(xué)歸納法非遞歸求斐波那契數(shù)列的方法
這篇文章主要介紹了java數(shù)學(xué)歸納法非遞歸求斐波那契數(shù)列的方法,涉及java非遞歸算法的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07