public class DeepCopyUtils {
private static final Logger logger = LoggerFactory.getLogger(DeepCopyUtils.class);
public static<E> List<E> deepCopy(List<E> sourceList) {
ObjectOutputStream out = null;
ObjectInputStream in = null;
List<E> dest = null;
try {
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
out = new ObjectOutputStream(byteOut);
out.writeObject(sourceList);
ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());
in = new ObjectInputStream(byteIn);
dest = (List<E>) in.readObject();
}catch (Exception e) {
logger.error("错误",e);
} finally {
try {
if (Objects.nonNull(out)){
out.close();
}
if (Objects.nonNull(in)){
in.close();
}
}catch (IOException e) {
logger.error("错误",e);
}
}
return dest;
}
java深拷贝
最新推荐文章于 2024-07-13 13:55:40 发布