亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Java深拷貝和淺拷貝如何實現

小億
86
2024-01-18 18:19:17
欄目: 編程語言

Java中深拷貝和淺拷貝的實現方式如下:

  1. 淺拷貝:淺拷貝是指創建一個新對象,然后將原對象的非靜態字段的值復制給新對象。新對象和原對象共享相同的引用類型字段。淺拷貝可以使用Object類的clone()方法實現,需要實現Cloneable接口,并重寫clone()方法。示例代碼如下:
public class MyClass implements Cloneable {
    private int value;
    private List<String> list;

    public MyClass(int value, List<String> list) {
        this.value = value;
        this.list = list;
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        MyClass clone = (MyClass) super.clone();
        clone.list = new ArrayList<>(list);
        return clone;
    }
}
  1. 深拷貝:深拷貝是指創建一個新對象,然后將原對象的所有字段的值復制給新對象,包括引用類型的字段。深拷貝需要手動遞歸復制引用類型的字段。示例代碼如下:
public class MyClass {
    private int value;
    private List<String> list;

    public MyClass(int value, List<String> list) {
        this.value = value;
        this.list = list;
    }

    public MyClass(MyClass other) {
        this.value = other.value;
        this.list = new ArrayList<>(other.list);
    }
}

以上是兩種常見的深拷貝和淺拷貝的實現方式,根據具體的需求和場景選擇合適的方式。

0
赞皇县| 蒙阴县| 峡江县| 克东县| 罗平县| 马关县| 习水县| 宁明县| 峡江县| 颍上县| 曲麻莱县| 会泽县| 周宁县| 嵩明县| 福鼎市| 高雄市| 开平市| 肃宁县| 舞阳县| 玛纳斯县| 北票市| 上栗县| 望城县| 江门市| 开江县| 福泉市| 习水县| 屏山县| 天门市| 黄陵县| 紫金县| 古丈县| 武夷山市| 河北区| 平昌县| 遂川县| 泰来县| 古蔺县| 平阳县| 自贡市| 阿坝|