科普:String hashCode 方法爲什麼選擇數字31作爲乘子

1. 背景 某天,我在寫代碼的時候,無意中點開了 String hashCode 方法。然後大致看了一下 hashCode 的實現,發現並不是很複雜。但是我從源碼中發現了一個奇怪的數字,也就是本文的主角31。這個數字居然不是用常量聲明的,所以沒法從字面意思上推斷這個數字的用途。後來帶着疑問和好奇心,到網上去找資料查詢一下。在看完資料後,默默的感嘆了一句,原來是這樣啊。那麼到底是哪樣呢?在接下來章節
相關文章
相關標籤/搜索