字符串情况下的哈希码范围

时间:2012-02-28 05:42:39

标签: java netbeans hashcode

我的代码中有字符串,我出于某种目的使用它们的哈希码,但我想知道是否有这些哈希码的范围,因为这可能会发生字符串的数量超出哈希码的范围。所以是什么哈希码的范围?

2 个答案:

答案 0 :(得分:2)

hashCode的范围是int的范围。对于任何所需的hashCode()String都有hashCode

答案 1 :(得分:0)

java中hashCode类的String方法定义如下......

public int hashCode() {
    int h = hash;
    if (h == 0) {
        int off = offset;
        char val[] = value;
        int len = count;

            for (int i = 0; i < len; i++) {
                h = 31*h + val[off++];
            }
            hash = h;
        }
        return h;
    }

它的字符串总是有一些价值.....所以,我不认为你会用完hashCode的......