有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    这个例子返回的结果与java中的hashCode()相同

    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
      hash
    end