哈哈哈123457 2017-03-03 02:43 采纳率: 86%
浏览 874
已采纳

java equals的重写问题 望大神解惑

equals不重写的时候和 == 一样 都是比较对象在堆内存的地址
那什么时候不需要重写 equals就是比较对象本身呢~~
还有要重写 怎么重写啊 望大神给个例子 而且网上看的例子里面都会调用自身equals
而且str1是哪里跑出来得 什么意思都~~~~

public boolean equals(Object obj) {

if(this == obj)

return false;

if(obj == null)

return false;

if(getClass() != obj.getClass() )

return false;

MyClass other = (MyClass)obj;

if(str1 == null) {

if(obj.str1 != null) {

return false;

}

}else if (!str1.equals(other.str1) )

return false;

}

if(var1 != other.var1)

return false;

return true;

}

  • 写回答

5条回答 默认 最新

  • 夕阳雨晴 2017-03-03 03:36
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
  • ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
  • ¥15 PPOCRLabel
  • ¥15 混合键合键合机对准标识
  • ¥100 现在不懂的是如何将当前的相机中的照片,作为纹理贴图,映射到扫描出的模型上
  • ¥15 魔霸ROG7 pro,win11.息屏后会显示黑屏,如图,如何解决?(关键词-重新启动)
  • ¥15 有没有人知道这是哪里出了问题啊?要怎么改呀?
  • ¥200 C++表格文件处理-悬赏
  • ¥15 Windows Server2016本地登录失败
  • ¥15 复合卡卡号轨道写入芯片卡