String.hashCode() is plenty unique
http://sigpwned.com/2018/08/10/string-hashcode-is-plenty-unique/
I’ve been running across this article all over Reddit for the past couple of days.
It’s driving me crazy.
The article (rightfully) points out that Java’s humble String.hashCode() method — which maps arbitrary-length String objects to 32-bit int values — has collisions. The article also (wrongfully) makes this sound surprising, and claims that the String.hashCode() algorithm is bad on that basis. In the author’s own words:
No matter what hashing strategy is used, collisions are enevitable (sic) however some hashes are worse than others. You can expect String to be fairly poor.