【发布时间】:2015-04-25 15:32:06
【问题描述】:
如果我们想序列化一个对象,我们可以简单地做如下实现:
class MyClass implements Serializable
{
private static final long serialVersionUID = 12345L;
}
并且不需要额外的努力来强制实现对象将如何写入文件和从文件中读取。 Java 只负责处理所有事情。
另一方面,Externalizable 确实定义了显式的序列化和反序列化方法,因此我们可以进行命令式编程。
这给我留下了一个问题:如果 Serializable 不需要额外的努力,那么让它成为我们必须实现的接口来序列化/反序列化对象的基本原理是什么,而不是默认情况下每个对象都可以序列化/反序列化?
【问题讨论】:
-
好问题。在 Python 中,默认情况下所有内容都是
serializable或pickle-able。 -
答案可以在这里找到:stackoverflow.com/questions/441196/…
标签: java serialization serializable externalizable