toString()方法返回对象的字符串表示,方便用户获得有关对象状态的基本信息。
hashCode()返回的对象是散列码,每一个对象都有一个默认的散列码,值就是对象的存储地址
在object类中默认实现的是将该对象的内部地址转化成一个整数返回。如果要重新定义equals()方法,
就必须重新定义hashCode()方法。
equals()用来判断对象是否相同,相同则返回true,否则返回false。如果要重写equals()方法,
也有必要重写hashCode(),确保通过equals方法判断结果为true的两个对象具备相等的hashCode()
返回值。
所以,如果两个对象不equals,他们的hashCode有可能会相等,
如果两个对象的hashCode相等,他们不一定equals,
如果两个对象的hashCode不等,则他们一定不equals。
|