关于hashCode

来源:互联网 发布:不用网络的手机收音机 编辑:程序博客网 时间:2024/06/18 09:27

一。String 类hashCode产生方法:`

    public int hashCode() {        int h = hash;        if (h == 0 && value.length > 0) {            char val[] = value;            for (int i = 0; i < value.length; i++) {                h = 31 * h + val[i];            }            hash = h;        }        return h;    }

可见,其是根据String字符串里的内容产生的一组散列码,和地址无关。
二。hashCode返回的应该是一个整型值,可以为负,但应该使不同对象的值分布均匀。
三。重新定义对象的equals()方法时,必须重新定义hashCode方法。

0 0
原创粉丝点击