j**a中的equals和==

时间:2013.05.03 发布人:songshengwu

j**a中的equals和==

已解决问题

谷歌songshengwu用户在2013.05.03提交了关于“船只围岛台舰j**a中的equals和==”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-30T13:08:59。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,千言万语,表达不了我的感激之情,我已铭记在心 !

希望以下的回答,能够帮助你。

第1个回答

用户名:dongdongzuiai  

第二个你采用的是equals方法比较,两个类型为IntValue的对象,IntValue并没有重写equals方法调用的是Object对象的equals方法,O粮谁福夜甲盟宗林年bject对象的equals方法和==是一样的,所以是false;
如果你这个类中重写equals和hasCode方法后就会使true了,把IntValue改为
classIntValue{
仍inta;
publicI衡ntValue(int_a){
a=_a;
}
publi裂妈置搞常己费防乱无cinthashCode(){
finalintprime=31;
intresult=齐校预老她围亲院1;
result=prime*result+a;
returnresult;
}
publicbooleanequ坚als(Objectobj)越快{
if(this=贵字跳最难件良分害先=obj)
return群景存化析超true;
if(obj==**ll)
returnfalse;
if(getClass()!=obj.getClass())
returnfalse;
IntValueother=(IntV妈简alue)obj;
if(a!=other.a)
returnfalse;
returntrue;
}

}