软件测试面经 | 深拷贝和浅拷贝的区别
- 考察点:编程语言
- 难度:简单
- 题目: 如果你在面试过程中,被面试官问到:请谈谈深拷贝和浅拷贝的区别,你会如何回答呢?
深拷贝和浅拷贝是日常工作中经常用到的两种数据拷贝方式,深拷贝和浅拷贝的主要区别在于拷贝后的对象是否共享内存。
浅拷贝
是创建一个新对象,新对象中的数据与原对象中的数据具有相同的地址,也就是说新对象中的一部分数据是共享原对象中的数据的地址。如果原对象中的某些数据被改变,那么新对象中共享该数据的部分也会发生改变。
深拷贝
是创建一个新对象,新对象中的数据与原对象中的数据地址不同,也就是说新对象中的所有数据都是独立的。如果原对象中的某些数据被改变,那么新对象中不会受到影响。