java 代码
- /**深拷贝对象
- * @return
- * @throws IOException
- * @throws OptionalDataException
- * @throws ClassNotFoundException
- */
- public Object deepClone(Object obj) throws IOException, OptionalDataException,
- ClassNotFoundException {
- // write to stream
- ByteArrayOutputStream bo = new ByteArrayOutputStream();
- ObjectOutputStream oo = new ObjectOutputStream(bo);
- oo.writeObject(obj);
- // read from stream
- ByteArrayInputStream bi = new ByteArrayInputStream(bo.toByteArray());
- ObjectInputStream oi = new ObjectInputStream(bi);
- return (oi.readObject());
- }
把这个方法作为对象的深拷贝会有问题吗?
今天遇到一个怪问题, 对象2是对象1的深拷贝,然后对对象2做操作, 结果对象1的属性值发生了变化, 具体原因还没有找到...
附注: 这个方法没有问题,可以直接使用!但效率比较低点