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的属性值发生了变化, 具体原因还没有找到...
附注: 这个方法没有问题,可以直接使用!但效率比较低点
本文介绍了一种通过序列化实现Java对象深拷贝的方法,并讨论了该方法可能存在的问题及效率较低的情况。

被折叠的 条评论
为什么被折叠?



