研发埠

标题: [hashcode & equals之5重天]覆写hashcode方法 [打印本页]

作者: 李天一    时间: 2013-8-16 14:34
标题: [hashcode & equals之5重天]覆写hashcode方法

作者: 李刚    时间: 2013-8-16 14:42
1. 把某个非零常数值,例如17,保存在int变量result中;2. 对于对象中每一个关键域f(指equals方法中考虑的每一个域):3, boolean型,计算(f? 0 : 1);4. byte,char,short型,计算(int);5. long型,计算(int)(f ^(f>>>32));6. float型,计算Float.floatToIntBits(afloat);7. double型,计算Double.doubleToLongBits(adouble)得到一个long,再执行[2.3];8. 对象引用,递归调用它的hashCode方法;9. 数组域,对其中每个元素调用它的hashCode方法。10. 将上面计算得到的散列码保存到int变量c,然后执行result=37*result+c;11. 返回result。




欢迎光临 研发埠 (http://bbs.yanfabu.com/) Powered by Discuz! X3.2