Skip to content

Instantly share code, notes, and snippets.

@dongqs
dongqs / java_hash_code.rb
Created September 10, 2014 12:30
java string hashCode() ruby implementation
TWO_31 = 2 ** 31
TWO_32 = 2 ** 32
def java_hash_code(str)
size = str.size
hash = 0
str.chars.each_with_index do |ch, i|
hash += ch.ord * (31 ** (size-(i+1)))
hash = hash % TWO_32 - TWO_31
end