对于Java拷贝的理解
在java语言中,当我们需要拷贝一个对象的时候,常见的会有两种方式的拷贝:深拷贝和浅拷贝。浅拷贝 只是拷贝了原对象的地址,所以原对象的任何值发生改变的时候,拷贝对象的值也会随之而发生变化。 拿地址。
深拷贝 则是拷贝源对象的所有值而不是地址,所以即源对象的值发上变化时,拷贝对象的值也会发生变化。 开辟新空间。
常见的几种深拷贝方式:
1.构造函数方式
new的方式可以让每一个对象都是新创建的,他们之间互不干扰,但是new的方式在对象个数少的情况下勉强能够使用,在创建对象过多时,对系统的开销很大,所以不推荐这种方式完成。2.重写clone方法
![0](/i/l/?n=23&i=blog/3120884/202307/3120884-20230723230258399-1659479977.png)