浅拷贝和深拷贝

浅拷贝的定义:被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主”对象进行拷贝,但不会复制主对象里面的对象。”里面的对象“会在原来的对象和它的副本之间共享。

简而言之,浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象

浅拷贝和深拷贝

深拷贝:会克隆出一个对象,数据相同,但是引用地址不同(就是拷贝A对象里面的数据,而且拷贝它里面的子对象)

赋值:获得该对象的引用地址

    public static <V,T> T deepCopy(V source, Class<T> tClass) {
        T obj = null;
        try {
            String sourceStr = mapper.writeValueAsString(source);
 
            obj = mapper.readValue(sourceStr, tClass);
        } catch (Exception e) {
            LOGGER.error("CloneUtil.deepCopy fail, msg:" + e.getMessage());
        }
        return obj;
    }