上周一个安卓的兄弟问到了我这个问题,今天我也把这个给写一下分享给大家
JAVA中通常会看到如下代码片断
import java.io.Serializable;
public class A implements Serializable {
private static final long serialVersionUID = 1L;
}
下面我为序列化提出一些大家通常会疑惑的问题,并做出解答:
什么是序列化类?
序列化类是可以被在网络上传输的(或者也可以被序列化到本地磁盘并生成.ser就文件),并且可以被接收方反序列化
为什么传输的类要被序列化呢?
其实也并不是所有的类都要被序列化,我们看一下JAVA源码
private void writeObject0(Object obj, boolean unshared) throws IOException {
...
if (obj instanceof String) {
writeString((String) obj, unshared);
} else if (cl.isArray()) {
writeArray(obj, desc, unshared);
} else if (obj instanceof Enum) {
writeEnum((Enum) obj, desc, unshared);
} else if (obj instanceof Serializable) {
writeOrdinaryObject(obj, desc, unshared);
} else {
if (extendedDebugInfo) {
t