java深浅拷贝

java深浅拷贝_第1张图片

对于Java拷贝的理解

在java语言中,当我们需要拷贝一个对象的时候,常见的会有两种方式的拷贝:深拷贝和浅拷贝。

浅拷贝 只是拷贝了原对象的地址,所以原对象的任何值发生改变的时候,拷贝对象的值也会随之而发生变化。 拿地址

深拷贝 则是拷贝源对象的所有值而不是地址,所以即源对象的值发上变化时,拷贝对象的值也会发生变化。 开辟新空间

常见的几种深拷贝方式:

1.构造函数方式

new的方式可以让每一个对象都是新创建的,他们之间互不干扰,但是new的方式在对象个数少的情况下勉强能够使用,在创建对象过多时,对系统的开销很大,所以不推荐这种方式完成。

2.重写clone方法

java深浅拷贝_第2张图片

3.Apache Commons Lang序列化

4.Gson序列化

5.Jackson序列化

你可能感兴趣的:(java)