重写 hashcode 与 equals 方法。
- hashCode() 方法是一个本地 native 方法,返回的是对象引用中存储的对象的内存地址,而 equals 方法是利用 == 来比较的,也是对象的内存地址。
HashMap 中 Key 是这样比较的,先求出 Key 的 hashcode(),比较是否相等,相等在比较 equals(),若相等就认为他们是相等的。如果只重写hashcode() 不重写 equals() ,在调用 equals() 时就会比较他们的内存地址。所以必须两个方法一起重写。