对象深拷贝的utils

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.lang3.SerializationUtils;

import java.io.IOException;
import java.io.Serializable;

public class DeepCopyUtils {

    public static  T deepCopyWithSerializable(T object) {
        return SerializationUtils.clone(object);
    }

    public static  T deepCopyWithJackson(T object) {
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            return objectMapper
                    .readValue(objectMapper.writeValueAsString(object), new TypeReference() {
                    });
        } catch (IOException ex) {
            throw new RuntimeException(ex);
        }
    }

}

你可能感兴趣的:(utils,杂记)