欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java Serializable和Parcelable详解及实例代码

程序员文章站 2024-03-13 13:53:39
对 serializable和parcelable理解 1、首先他们两个接口都是为了实现对象的序列化,使之可以传递,所谓序列化就是将对象信息装换成可以存储的介质的过程。...

对 serializable和parcelable理解

1、首先他们两个接口都是为了实现对象的序列化,使之可以传递,所谓序列化就是将对象信息装换成可以存储的介质的过程。

2、serializable是jdk所提供的序列化接口,该接口存在于io包下,可想用于输入输出,使用非常简单,只要让你的类实现此接口就ok了;可以使用transient关键字修饰你不想序列化的属性。

3、parcelable是sdk所提供的序列化接口,使用较上者麻烦,实现此接口后,需要重写writetoparcel方法,将需要序列化的属性写入parcel中;

然后还需要cerator静态成员属相,以便从parcel中取出数据。如下

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、两种都是用于支持序列化、反序列化话操作,两者最大的区别在于存储媒介的不同,serializable使用io读写存储在硬盘上,而parcelable是直接在内存中读写,很明显内存的读写速度通常大于io读写,所以在android中通常优先选择parcelable。

通过此文希望能帮助有需要的小伙伴,彻底理解java serializable和parcelable的知识,谢谢大家对本站的支持!