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 } 写入/读取包裹时维持秩序是否重要?为什么? 解决方法
是的,它确实.写入变量的顺序取决于您,您可以根据需要进行操作,但必须以相同的顺序读取它们.如果订单不同,它会给你运行时崩溃.
为什么?机制是盲目的,所以它相信你能以正确的顺序获得它. 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); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |