java - 如何在实现 Parcelable 的类中使用 transient 变量?

标签 java android class parcelable transient

我需要了解实现 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/

相关文章:

android - iOS:类似 Android 布局的相对定位

c++ - 使用使用私有(private)字段的基类方法

C++ 类前向声明

java - Spring Boot 微服务中的安全问题

java - 在Java中执行Java代码

java - 如何告诉 JAXB 元素的顺序无关紧要?

java - 有什么办法可以固定 window 吗?

android - Handler如何影响onReceiveResult(ResultReceiver)的调用方式?

java - 如何找到球体上点和线之间的最小距离

java - 如何为已经存在的类创建一个方法,以便它使用一个变量,并从中将其作为参数调用?