clone(),hashCode()、equals()

clone()

分为浅拷贝,一般深拷贝,彻底深拷贝,默认浅拷贝

浅拷贝:复制当前对象的所有基本数据类型,以及相应引用变量,但没有复制引用对象的实际对象

一般深拷贝:复制当前对象的所有基本数据类型,以及相应引用变量,复制引用对象的实际对象的递归深度介于两者之间

彻底深拷贝:复制当前对象的所有基本数据类型,以及相应引用变量,复制引用对象的实际对象,实现与原对象在任何引用路径下都不存在共享的实例对象。越靠近jvm

 

hashCode()与equals()

hashCode()根据生成的hash值判断两个对象是否相等

equals()判断是否指向同一个对象

 

若hashCode()相等,不能推断equals()为true

若equals()为true,则hashCode一定相等

 

你可能感兴趣的:(JAVA)