java对象序列化readObjectdefaultReadObject

java对象序列化readObjectdefaultReadObject,第1张

java对象序列化readObject / defaultReadObject

defaultReadObject()
调用默认的反序列化机制,并
readObject()
Serializable
类上定义方法时使用。换句话说,当您具有自定义反序列化逻辑时,您仍然可以返回默认的序列化,这将对您的非静态,​​非瞬态字段进行反序列化。例如:

public class SomeClass implements Serializable {    private String fld1;    private int fld2;    private transient String fld3;     private void readObject(java.io.ObjectInputStream stream)         throws IOException, ClassNotFoundException {         stream.defaultReadObject(); //fills fld1 and fld2;         fld3 = Configuration.getFooConfigValue();    }]

另一方面,

readObject()
当您
ObjectInputStream
在反序列化的对象的外部创建并想要读取先前已序列化的对象时,将使用:

ObojectInputStream stream = new ObjectInputStream(aStreamWithASerializedObject);Object foo = (Foo) stream.readObject();


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5506140.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存