两种序列化接口

Java里有两种序列化接口:
(parcable是Android的,不是Java的)

Serializable-自动序列化

通过transient关键字标识不序列化的字段,如:
private transient String content ="本字段不序列化";

Externalizable-自动不序列化

通过writeExternal(ObjectOutput out)标识序列化的输出内容,如:
@Override
public void writeExternal(ObjectOutput out) throws IOException {
out.writeObject("本段内容为序列化的输出");
}

区别

1.若实现的是Serializable接口,则所有的序列化将会自动进行;
2.若实现的是Externalizable接口,则没有任何东西可以自动序列化,需要在writeExternal方法中进行手工指定所要序列化的变量,这与是否被transient修饰无关;

你可能感兴趣的:(两种序列化接口)