hashCode() 是 java.lang.Object 類中定義的本地方法,用於返回對象的哈希碼(整數值)。其核心作用是支持基於哈希表的集合類(如 HashMap、HashSet、Hashtable)高效存儲與查找對象。
hashCode() 確定桶位置,再通過 equals() 比較確定唯一性。hashCode() 不是加密方法。 它不保証唯一性(不同對象可能產生相同哈希碼),也不可逆,不應用於數字簽名、密碼存儲等安全場景。加密請使用 MessageDigest(MD5、SHA)或 BCrypt 等專業算法。
equals() 時必須重寫 hashCode(),保證「相等的對象哈希碼相等」。Objects.hash(field1, field2...)(Java 7+)或 Apache Commons Lang HashCodeBuilder 快速生成標準實現。總結:hashCode() 是 Java 集合框架高效運作的基石,理解其契約與正確重寫是開發高性能 Java 應用的必修課。