gpt4 book ai didi

java - 需要 defaultReadObject() 和 defaultWriteObject()

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:59 26 4
gpt4 key购买 nike

为什么需要将 defaultReadObject()defaultWriteObject() 作为 readObject(ObjectInputStream o) 中的第一条语句writeObject(ObjectOutputStream o) 类实现 serializable 接口(interface)时的方法。

最佳答案

defaultReadObject()defaultWriteObject() 应该是 readObject(ObjectInputStream o)writeObject(ObjectOutputStream o). 分别读写类的所有non transient字段。这些方法还有助于向后和将来兼容。如果将来您向类中添加一些 non-transient 字段,并且您试图通过旧版本的类对其进行反序列化,则 defaultReadObject() 方法将忽略新添加的字段,同样,如果您反序列化新版本的旧序列化对象,然后新的非 transient 字段将从 JVM 获取默认值,即如果其对象则为 null,否则如果是原语则 boolean 为 false,int 为 0 等......

关于java - 需要 defaultReadObject() 和 defaultWriteObject(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17235877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com