美文网首页
java 深拷贝

java 深拷贝

作者: 砺豪 | 来源:发表于2017-03-11 18:43 被阅读38次

普通拷贝只拷贝该对象的字段值,该对象里引用的其他对象不进行拷贝,保留原来的引用。所以需要深拷贝。

public class Car implements Cloneable {

    private String name;

    public Car(String name) {
        this.name = name;
    }

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
public class Person implements Cloneable {
    private String name;
    private Car car;

    public Person(String name, Car car) {
        this.name = name;
        this.car = car;
    }

    public Object clone() throws CloneNotSupportedException {
        Person p = (Person)super.clone();
        p.car = (Car)car.clone();
        return p;

    }

    public static void main(String[] args) throws Exception {
        Car car = new Car("aodi");
        Person p1 = new Person("lihao", car);
        System.out.println("car hashcode:" + car.hashCode());
        Person p2 = (Person)p1.clone();
        System.out.println("p1 hashcode:" + p1.hashCode());

        System.out.println("p2's car  hashcode:" + p2.car.hashCode());
        System.out.println("p2 hashcode:" + p2.hashCode());

    }
}

相关文章

  • java 对象的拷贝

    拷贝:即复制 对象拷贝:即对象复制 java 对象拷贝分类:浅拷贝、深拷贝 java 对象的浅拷贝和深拷贝针对包含...

  • Java基础 - 深拷贝和浅拷贝

    Java 的深拷贝和浅拷贝 什么是深拷贝、浅拷贝 (深克隆、浅克隆)? 在 Java 中,数据类型分为 基本数据类...

  • Java------List的深拷贝与浅拷贝

    Java的浅拷贝(Shallow Copy)、深拷贝(Deep Copy)。 浅拷贝(Shallow Copy) ...

  • java中的深拷贝和浅拷贝

    简单记录一下java中的深拷贝和浅拷贝,深拷贝和浅拷贝只是针对对象而言的. 1 深拷贝代码 2 浅拷贝代码 3 测...

  • java 深拷贝

    1、拷贝与深拷贝 对象的拷贝,就是将原对象中的属性值拷贝到一个同类型(一般来说)的对象中去;深拷贝是指在拷贝原对象...

  • Java深拷贝

    Java对于对象(包括字符串,这点和Swift不同)默认是浅拷贝,体现在直接赋值操作和集合添加操作中,如果要进行深...

  • java 深拷贝

    普通拷贝只拷贝该对象的字段值,该对象里引用的其他对象不进行拷贝,保留原来的引用。所以需要深拷贝。

  • JAVA 深拷贝 浅拷贝

    JAVA 深拷贝 浅拷贝 浅拷贝只是复制了引用, 这个引用还是指向原来的值 深拷贝那就是直接复制了整个Object...

  • Java基础系列-浅拷贝和深拷贝

    原创文章,转载请标注出处:《Java基础系列-浅拷贝和深拷贝》 一、概述 Java中的拷贝功能是由Object类的...

  • java浅拷贝深拷贝

    如果类不实现Clonable接口就重写Object中的clone方法就会抛出CloneNotSupportedEx...

网友评论

      本文标题:java 深拷贝

      本文链接:https://www.haomeiwen.com/subject/oqkzgttx.html