在LinkedList类中,writeObject和readObject是私有的,但从不调用,为什么以及如何在Java中调用它们?
我找到了答案,Java反思这样做。
答案 0 :(得分:4)
该方法由java的序列化机制使用。因此,当您序列化对象时,jvm会调用write方法。反序列化对象时会调用readMethod。
请参阅writeMethod,readMethod和Serializable界面的文档。
答案 1 :(得分:1)
试试这个
LinkedList list = new LinkedList();
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("xxx"));
oos.writeObject(list); <-- writeObject will be called here
oos.close();
ObjectInputStream oos = new ObjectInputStream(new FileInputStream("xxx"));
oos.readObject(list); <-- readObject will be called here
答案 2 :(得分:0)
在对象序列化期间使用这些方法。
LinkedList实现了可序列化的接口(标记接口),并为读取和写入列表对象提供了自定义实现。