java 中的 hashcode() 与 equals() 方法必须同时使用,即:若重写一个,必须重写另一个。
对于两个不同的对象 m 与 n, 两者的关系是:
1. 若 m.equals(n) = true, 则 m 与 n 的 hashcode() 也应该相同。
2. 若 m.hashcode() = n.hashcode(), 则 m.equals(n) = true or false, 即两个对象的哈希码相同时,两个对象不一定相同。
hashcode 的主要作用是便于 java 查找数据, hashcode 总是一组数。