java - 反序列化后如何获取Transient Variable原始值

标签 java serialization deserialization transient

使用Transient变量,我们可以停止序列化所需的值,但反序列化后,我们将获得 transient 变量的默认值,并且会丢失原始值。那么为什么需要创建 transient 变量呢?我们可以跳过创建变量本身。如果可能的话如何获取 transient 变量的原始值。

最佳答案

transient 变量的想法是,以序列化形式保留其原始值是没有意义的,因为反序列化后它不会处于有效状态(例如,考虑一个包含打开Socket)。

对象反序列化后, transient 变量应该通过某些方法调用来初始化(例如,如果该成员为 null,则该成员的 getter 可能会对其进行初始化)。

关于java - 反序列化后如何获取Transient Variable原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271605/

相关文章:

java - 如何使用 unsigned int 才能使用 JNA(Java native 接口(interface))函数?

java - CDI 注入(inject)的 bean 是否需要 getter 和 setter?

java - 从 2 个不同的 war 文件访问相同的 ehcache

json - Delphi SuperObject 按与添加顺序不同的顺序对值进行排序

java - 在 Java 中序列化对象时出现 StackOverflowError

java - 是否有一种通用的方法来反序列化 Jackson 中的单值对象(没有自定义反序列化器)

json - List 类的自定义 KotlinX 序列化程序

java - 使用 Jackson 反序列化 JSON 实体的动态属性

java - 如何在 TextView 中显示 .java 文件?

java - Avro:序列化/反序列化包含 Enum 值的文件时出现 ClassCastException