Java深度拷贝对象
2017-06-28 09:39
453 查看
今天看到一种java类实现了Serializable接口后对象深拷贝的方法,所以记录一下类型,T一定要实现Serializable接口。
public static <T> T CloneObj(T t) throws Exception{
Serializable serializable = (Serializable) t;
return SerializationUtil.clone(serializable);
}
public static <T> T CloneObj(T t) throws Exception{
Serializable serializable = (Serializable) t;
return SerializationUtil.clone(serializable);
}
public class SerializationUtil { /** * 获取一个可Serializable对象的深度拷贝 * 替换 SerializationUtils.clone * @param srcObj 源对象 * @return Object 深度拷贝对象 */ public static <T> T clone(T t) { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(t); ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())); return (T)ois.readObject(); } catch (Exception e) { Logger.error(e.getMessage(), e); throw new Exception(e.getMessage(), e); } } }
相关文章推荐
- 深度拷贝java对象
- Java深度拷贝一个对象
- Java序列化和克隆--对象深度拷贝
- Java编程基础-----对象的深度拷贝
- java对象深度拷贝
- Java对象之间的深度复制拷贝
- 序列化存取实现java对象深度克隆
- Java对象深度复制方法
- Java对象拷贝
- 利用序列化将java对象深拷贝
- java对象拷贝——PropertyUtils.copyProperties()用法和性能
- JAVA对象拷贝
- JAVA对象拷贝
- java传递是引用的拷贝,既不是引用本身,更不是对象
- Flex:对象的深度拷贝
- as3中通过ByteArray进行对象的深度拷贝
- 利用序列化与反序列化对Java对象进行深度复制
- java拷贝对象
- java的对象与引用,影子clone与深度clone
- java学习笔记-数组,对象的拷贝