加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Parcelable中包变读/写操作时变量顺序是否重要?

发布时间:2020-12-15 04:38:34 所属栏目:Java 来源:网络整理
导读:我有一个Parcelable类的以下实现: public class DemoModel implements Parcelable { private String para1; private int para2; public DemoModel(){} protected DemoModel(Parcel in) { para1 = in.readString(); para2 = in.readInt(); } @Override publi
我有一个Parcelable类的以下实现:

public class DemoModel implements Parcelable {
    private String para1;
    private int para2;

    public DemoModel(){}

    protected DemoModel(Parcel in) {
        para1 = in.readString();
        para2 = in.readInt();
    }

    @Override
    public void writeToParcel(Parcel parcel,int i) {
        parcel.writeString(para1);
        parcel.writeInt(para2);
    }

    //other methods
}

写入/读取包裹时维持秩序是否重要?为什么?

解决方法

是的,它确实.写入变量的顺序取决于您,您可以根据需要进行操作,但必须以相同的顺序读取它们.如果订单不同,它会给你运行时崩溃.

为什么?机制是盲目的,所以它相信你能以正确的顺序获得它.
主要是为了获得性能优势,因为它不必搜索特定元素.
您可以在Parcelable界面中看到它创建的数组大小为您放入parcel中的多个元素.

public interface Creator<T> {
    /**
     * Create a new array of the Parcelable class.
     * 
     * @param size Size of the array.
     * @return Returns an array of the Parcelable class,with every entry
     * initialized to null.
     */
    public T[] newArray(int size);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读