克隆相关面试题

1.使用克隆有什么好处?

答:好处包含以下几点:

  • 使用方便:假如要复制一个对象,但这个对象中的部分属性已经被修改过了,如果不使用克隆的话,需要给属性手动赋值,相比克隆而已麻烦很多;
  • 性能高:查看 clone 方法可以知道,它是 native 方法,native 方法是原生函数,使用操作系统底层的语言实现的,因此执行效率更高;
  • 隔离性:克隆可以确保对象操作时相互隔离。

clone() 源代码,如下图:

2.浅克隆和深克隆有什么区别?

答:区别主要在对引用类型的复制上,具体信息如下:

  • 浅克隆:只会复制对象的值类型,而不会复制对象的引用类型;
  • 深克隆:复制整个对象,包含值类型和引用类型。

猜你喜欢

转载自blog.csdn.net/LOVE_Me__/article/details/106124392