问题来自Java技术沙龙的李博
Java线下沙龙报名链接:https://yq.aliyun.com/activity/796
先从定义上说:
Serializable是标识接口,标识实现该接口的对象可以被序列化(通过Java自身的ObjectInput, ObjectOutput)。
而Externalizable继承自Serializable接口,其具体定义如下:
public interface Externalizable extends java.io.Serializable {
void writeExternal(ObjectOutput out) throws IOException;
void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;
}
从功能上说:
Serializable只是定义了序列化的标识,至于如何进行部分字段的序列化,可以用三种方式:
Externalizable接口存在的意义就在于此,可以进行字段序列化的定制。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。