关于 Object 的clone方法
public class CloneTest {
@Test
public void testClone(){
Person p = new Person();
Person p1 = (Person) p.clone();
System.out.println(p.equals(p1));
//System.out.println(p==p1); //与上面一句话相同,在此处都是使用实例的哈希值进行比较
System.out.println(p.getClass()==p1.getClass());//比较是否为同一类型
System.out.println(p.hashCode());//Person对象的哈希值如:379806828
System.out.println(p1.hashCode());//克隆的Person对象的哈希值如:1091959312
p.jk();
}
/**
*
*自定义类型
*实现 Cloneable表示此类型是可以克隆的,否则会报出CloneNotSupportedException的异常
*/
public class Person implements Cloneable{
public void jk(){
}
@Override
public Object clone(){
try {
return super.clone();//调用父类的clone方法
} catch (CloneNotSupportedException e) {
e.printStackTrace();
return null;
}
}
}
}