使用Transient变量,我们可以停止序列化所需的值,但反序列化后,我们将获得 transient 变量的默认值,并且会丢失原始值。那么为什么需要创建 transient 变量呢?我们可以跳过创建变量本身。如果可能的话如何获取 transient 变量的原始值。
最佳答案
transient 变量的想法是,以序列化形式保留其原始值是没有意义的,因为反序列化后它不会处于有效状态(例如,考虑一个包含打开Socket
)。
对象反序列化后, transient 变量应该通过某些方法调用来初始化(例如,如果该成员为 null,则该成员的 getter 可能会对其进行初始化)。
关于java - 反序列化后如何获取Transient Variable原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271605/