JAVA-克隆

  java中的克隆分为浅克隆和深克隆。说得简单点,浅克隆只复制原型对象,不复制引用对象,深克隆则是会复制原型对象和原型所引用的对象。这里只是记一下部分知识点,后续再补充。

一.Object中对clone()方法的约定

  对于所有对象来说,x!=x.clone(),返回值为true。因为克隆对象与原对象不是同一个对象。x.clone().getClass()==x.getClass()返回值也为true,因为他们的对象类型是一样的。x.clone().equals(x)返回值为true,因为他们的值使相同的。

 

二.Arrays.copyOf()

  如果是数组类型,就要用到Arrays.copyOf()方法,这个方法是一个浅克隆,因为数组本身是引用类型,Arrays.copyOf()是把引用地址复制给了克隆对象。

 

  

你可能感兴趣的:(JAVA-克隆)