java 为什么要序列化

一种对象克隆方式. 利用序列化,我们可以先把某个对象序列化对内存,再反序列化地从内存读出,这样就达到一种变相克隆的效果. 这时的一个注意, 确保要克隆对象里属性及属性的属性都是实现了Serializable接口的, 不然会报NotSerializableException. 下面是可支持泛型的代码:public static <T> List<T> serializableCloneToArray(T dc, int count) throws Exception { List<T> results = new ArrayList<T>(); ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(bo); os.writeObject(dc); ByteArrayInputStream bi = null; ObjectInputStream oi = null; for (int i = 0; i < count; i++) { bi = new ByteArrayInputStream(bo.toByteArray()); oi = new ObjectInputStream(bi); results.add((T) oi.readObject()); } return results; }
原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100637.html