equals()方法:比较两个对象是否相同。
1)用 == 号比较两个对象的内存地址,如果两个对象指向的是同一个内存地址,返回true。
2)否则继续比较字符串的值,如果值相同,返回true。
hashCode()方法:计算对象的哈希值。
哈希值是一个整数,快速判断对象在哈希表中的存储位置。
?????????在哈希表中存储对象,首先用对象的哈希值来确定对象在哈希表中的位置,然后再用equals方法判断两个对象是否冲突。如果两个对象的equals方法返回true,则hashCode值一定相等。反之,如果hashCode相等,则对象不一定相同。
????????因此为了保持一致性,重写equals方法一定重写hashCode方法,保证相同的对象哈希值相同,避免在哈希表中出现错误的行为。