我需要了解是应该在 modelClass(Parcel parcel)方法中从包裹中读取实现Parcelable接口的类中的临时变量,还是应该在 writeToParcel(Parcel)中将其写入包裹包裹,int i)。谁能为我提供一个带有瞬态变量的类实现。谢谢。
答案 0 :(得分:0)
class Employee implements Serializable {
private String firstName;
private String lastName;
private transient String confidentialInfo;
//Setters and Getters
}
答案 1 :(得分:0)
您只需在声明变量的同时在数据类型之前添加瞬态关键字即可。
class Parcel implements Parcelable{
private Integer checkinId;
private transient String someCode;
//// some methods
}
interface Parcelable implements{
// some methods
}
答案 2 :(得分:0)
“瞬态”关键字对可包裹对象无效。读写可分割对象中的字段没有自动化,因此没有现成的代码将其考虑在内。对瞬态场进行特殊处理的任何可能选择完全取决于设计类的人。
规范(https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3.1.3)说:“变量可能被标记为瞬态,以表明它们不是对象持久状态的一部分”,因此,如果您真的想要阅读本书,你不应该写它们。但是,正如我说的那样,由于读写是在类内部机械地完成的,所以transient关键字没有多大意义。