哈哈哈123457
2017-03-03 02:43
采纳率: 100%
浏览 863
已采纳

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
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 行书开发 2017-03-03 03:06

    str1 是自定义的一个对象, equals() 是String的一个方法

    评论
    解决 无用
    打赏 举报
  • 评论
    解决 无用
    打赏 举报
  • Sgmder 2017-03-03 03:58

    Effective Java 第8、9条,写的很清楚,看书看书!

    评论
    解决 无用
    打赏 举报
  • yhhr1 2017-03-03 05:47

    dddddddddddddd

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题