91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
承德市| 揭东县| 南和县| 乐陵市| 鄂托克旗| 望奎县| 台北市| 宁远县| 顺义区| 舒城县| 蒲江县| 岳阳市| 永福县| 云浮市| 洪湖市| 讷河市| 樟树市| 西盟| 常山县| 玛曲县| 巩义市| 佛坪县| 大姚县| 井陉县| 遂溪县| 驻马店市| 内江市| 拜泉县| 柯坪县| 巴彦县| 松江区| 云南省| 抚顺县| 百色市| 瓮安县| 哈尔滨市| 天等县| 吴旗县| 丹阳市| 汉川市| 宁远县|