- 公用方法直接继承,不用重复书写(tostring等)
equals()与hashCode()关系
- 重写equals()方法时一定要重写hashCode()方法
//hash冲突
String a="ok";
String b=new String("ok");
System.out.println((a==b));
System.out.println(a.hashCode());
System.out.println(b.hashCode());
//equals()与hashCode()关系
//1.如果两个对象相同,(即用==比较返回true,则他们的hashCode一定相同)
//2.如果两个对象不同,(即用==比较返回false,则他们的hashCode可能相同,可能不同)
//3.如果两个对象hashCode相同(哈希冲突),(则他们可能相同,可能不同)
//4.如果两个对象hashCode不同,(则他们一定不同)
//若要减少equals比较次数,先找哈希值相同的,即为什么重写equals()方法时一定要重写hashCode()方
//法