java 的深度clone,对于对象里面还包含其它对象可使用流克隆法
2015-01-20 11:48
281 查看
一般使用的clone()方法虽然可以实现深度克隆, 但是需要的克隆对象里有其他引用对象,这个引用对象还有引用对象 那么你重写clone()方法就非常的繁琐了 所以建议使用输入输出流进行克隆 /* * 复制对象obj,类似于值传递,非引用 */ public static Object cloneObject(Object obj) throws Exception{ ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(byteOut); out.writeObject(obj); ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray()); ObjectInputStream in =new ObjectInputStream(byteIn); return in.readObject(); }
相关文章推荐
- 关于Java对象复制(Clone、深度Clone以及序列化与反序列化的使用)
- 关于java中对于二维数组使用clone出错之后
- java对象 深度克隆(不实现Cloneable接口)和浅度克隆
- java克隆对象clone()的使用方法和作用
- java把对象转化成流,和把流转化成对象(包含clone机制+序列化机制)
- [学习笔记]Java基础_IO(包含对象流序列化使用和RandomAccessFile 类的使用)
- java命令执行jar包(里面的main函数,无web.xml文件)的方式(包括依赖其它的jar包),使用Google-Guava Concurrent包里的Service框架,maven工程
- java对象 深度克隆(不实现Cloneable接口)和浅度克隆
- 【Java面试题】42 TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!
- java基础复习之对于String对象,能够使用“=”赋值,也能够使用newkeyword赋值,两种方式有什么差别?
- java性能优化之二 循环里面不使用hibernate创建对象
- java之克隆一个对象(此对象包含list引用)-clone()
- Effective Java 对于所用对象都通用的方法 11.谨慎地覆盖clone
- 使用BlazeDS实现java与flex传对象时,RemoteClass中包含自己写的类,后台无法转换的问题
- Java利用序列化实现对象深度clone的方法
- Java中如何在另一个类里面使用运行类中的对象,举例说明了一下。
- Java案例:使用clone()方法克隆对象
- Effective Java - 对于所有对象都通用的方法 - 谨慎地覆盖 clone
- java使用serializable进行序列化与反序列化实现对象clone(克隆)
- java对象 深度克隆(不实现Cloneable接口)和浅度克隆