我需要了解实现 Parcelable 接口(interface)的类中的 transient 变量是否应该从 modelClass(Parcel parcel) 方法中的包裹读取或写入 writeToParcel(Parcel包裹,int i) 。谁能给我提供一个带有 transient 变量的类实现。谢谢。
最佳答案
“transient”关键字对可分割对象没有影响。在可打包对象中读取和写入字段时没有自动化,因此没有现成的代码可以考虑它。对瞬变场的特殊处理的任何可能选择完全取决于设计类的人。
规范 ( https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3.1.3 ) 说“变量可能被标记为 transient ,以表明它们不是对象持久状态的一部分”,所以如果你真的想照章办事,你应该不写他们。但是,正如我所说,由于读写是在类中机械地完成的,transient 关键字没有多大意义。
关于java - 如何在实现 Parcelable 的类中使用 transient 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54434462/