hashCode方法裏爲什麼選擇數字31作爲生成hashCode值的乘數

前提:   偶然的機會看到了大神的一篇博客,介紹的是hashCode()方法裏爲什麼要用31這個數字作爲生成hashCode的乘數。hashCode我在比較自定義類時曾經用到過 - 由於java默認比較的是類的地址值,每個對象一定是不同的,所以重寫了hashCode()和equals()方法 ,這樣就會先根據類裏的屬性生成hashCode,如果生成的hashCode值相同,則在使用equals()
相關文章
相關標籤/搜索