public Object deepClone() throws IOException, OptionalDataException, ClassNotFoundException { // 将对象写到流里 ByteArrayOutputStream bo = new ByteArrayOutputStream(); ObjectOutputStream oo = new ObjectOutputStream(bo); oo.writeObject(this); // 从流里读出来 ByteArrayInputStream bi = new ByteArrayInputStream(bo.toByteArray()); ObjectInputStream oi = new ObjectInputStream(bi); return (oi.readObject()); } 对象所属的类要实现Serializable接口。同时将该方法写入到对象所属的类中。 深拷贝的时候,调用该方法即可。 this.tempTreatHistory = (TreatHistory) this.treatHistory .deepClone();// 将旧病历记录下来放在一个临时的变量中 上面这段代码的意思就是将treatHistory深拷贝到一个临时变量中。