Java序列化:readObject输入与readExternal输入的区别

5

readObject的签名如下:

private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;

该函数接受一个具体类类型的引用。

readExternal的签名为:

void readExternal(ObjectInput in) throws IOException, ClassNotFoundException

需要引用一个接口类型。

那么为什么会出现这种差异呢?是因为疏忽吗?

1个回答

2

ObjectInputStream 有几个方法不在 ObjectInput 中,这些方法专门用于支持默认序列化机制。因此,序列化需要来自 ObjectInputStream,但外部化可以来自任何 ObjectInput


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接