javaBean深拷贝
1.[代码]调用方法
BasePO basePO = DTOBeanUtil.deepCopyDtoBySerialization(BasePO.class, param);
2.[代码]深拷贝实现类
import org.springframework.util.SerializationUtils;
public class DTOBeanUtil {
private DTOBeanUtil() {
}
/**
*
* Description: 通过序列化、反序列化方式实现对象深拷贝
*
* @param clazz
* @param srcDto
* @return
* @throws Exception
*
* ------------------------------------------------------------------
* 2015年6月16日 测试 灰烬 创建
*/
@SuppressWarnings("unchecked")
public static T deepCopyDtoBySerialization(Class clazz, T srcDto)
throws Exception {
if (!clazz.equals(srcDto.getClass())) {
throw new Exception("类型不匹配!");
}
T destDto = (T) srcDto.getClass().newInstance();
byte[] srcByte = SerializationUtils.serialize(srcDto);
Object obj = SerializationUtils.deserialize(srcByte);
destDto = clazz.cast(obj);
return destDto;
}
}