首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

小弟求解,equale,hashcode,该怎么解决

2011-12-31 
小弟求解,equale,hashcodepublic boolean equals(Object o){//if(o null){//return false//}if(this

小弟求解,equale,hashcode
public boolean equals(Object o){//
if(o == null){//
return false;//
}
if(this==o){//
return true;//
}
if(o instanceof Node){//
Node other = (Node)o;//
return this.i ==other.i &&//
this.j ==other.j;//
}
return false;//
}
public int hashcode(){//
return i*10000+j;//
}
为什么每次写代码都要写这两个啊,还有就是这些代码什么意思啊?给注释下,谢谢!

[解决办法]
equals函数用于对象比较,若不重写对象比较是会调用Object的equals方法,比较得到结果出错
hashCode用于得到对象哈希码,使相同对象的哈希码相同,确保比较的正确性
[解决办法]
hashMap那些东西会在比较值时用到hashCode,重写hashCode可以丢到hashMap里面再比较hashMap的equals方法就有效了,
equals则是为了比较两个对象的属性值

热点排行