System.identityHashCode("")求的是什么?

来源:百度知道 编辑:UC知道 时间:2024/07/07 11:33:11
什么意思呢 求高人解答 感激不尽~(越详细越好……)

返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。null 引用的哈希码为零。

哈希码的知识你可以从数据结构中学到,也可以上网查,很多的

我给你简单介绍一下
Hash函数
Hash函数,又称单向散列函数,是将任意长的消息映射为定长的Hash值的公开函数。Hash函数在密码学中应用十分广泛,与各种加密算法有着密切的联系。Hash函数的模型如下: h=H(M)
其中,M是待处理的消息;H是Hash函数;h是生成的消息摘要,它的长度是固定的,并且和M的长度无关。

Java里的String类的Hash函数是:s[0]*31^(n-1)+s[1]*31^(n-2)+...+s[n-1]s[i]是字符串中的第i个字符;空字符串的Hash值是0

identityHashCode
public static int identityHashCode(Object x)返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。null 引用的哈希码为 0。

参数:
x - 要计算其哈希码的对象
返回:
哈希码
从以下版本开始:
JDK1.1