各种拷贝函数哪个是深拷贝

时间:2022-05-02 04:42:59

如果修改了对象,使用拷贝函数生成的对象中值是否相应修改了?

1. Arrays.copyOf  浅拷贝

        StringDemo d1 = new StringDemo(1);
        StringDemo d2 = new StringDemo(2);
        StringDemo[] a = {d1, d2};
        StringDemo[] b = Arrays.copyOf(a, a.length);
        d1.setValue(111);

        System.out.println(d1.getValue());
        System.out.println(a[0].getValue());
        System.out.println(b[0].getValue());

输出  111   111    111