如何在实现 Parcelable 的类中使用瞬态变量?

我需要了解实现 Parcelable 接口的类中的瞬态变量是否应该从modelClass(Parcel parcel)方法中的 parcel 中读取或写入writeToParcel(Parcel parcel,int i)中的 parcel 。任何人都可以为我提供一个包含瞬态变量的类实现。谢谢你。



MYYA
浏览 118回答 3
3回答

郎朗坤

“transient”-keyword 对 parcelable 对象没有影响。读取和写入可包裹对象中的字段没有自动化,因此没有现成的代码可以考虑到这一点。瞬态场特殊处理的任何可能选择完全取决于设计类的人。规范 ( https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3.1.3 ) 说“变量可能被标记为瞬态以表明它们不是对象的持久状态”,所以如果你真的想照书看书,你不应该写它们。但是,正如我所说,由于读写是在类内部机械地完成的,因此该 transient 关键字没有多大意义。

慕尼黑的夜晚无繁华

class Employee implements Serializable {    private String firstName;    private String lastName;    private transient String confidentialInfo;    //Setters and Getters}

梦里花落0921

您可以在声明变量时简单地在数据类型之前添加瞬态关键字。class Parcel implements Parcelable{   private Integer checkinId;   private transient String someCode;   //// some methods}interface Parcelable implements{  // some methods}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java