java深拷贝

public class DeepCopyUtils {
    private static final Logger logger = LoggerFactory.getLogger(DeepCopyUtils.class);
    public static List deepCopy(List sourceList) {
        ObjectOutputStream out = null;
        ObjectInputStream in = null;
        List 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) 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工具,java,windows,开发语言)