原创

深拷贝和浅拷贝 [duplicate] clone(): ArrayList.clone() 我认为浅拷贝是有效的 ArrayList.clone() 方法在 Java 中如何工作?

温馨提示:
本文最后更新于 2024年04月12日,已超过 48 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

我很难理解深副本和浅副本,以及 Java 中的 .clone() 方法的工作原理。一些消息来源说它创建了一个浅副本,其他人则说它创建了一个深副本。

public class Kopie {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(7);
        list.add(23);

        ArrayList<Integer> list2 = new ArrayList<>();
        list2 = (ArrayList<Integer>)list.clone();
        list2.set(3, 287);

        System.out.println(list2.get(3));
        System.out.println(list.get(3));
    }
}

可能代码的输出是

287
23

我不知道为什么。

正文到此结束
热门推荐
本文目录