重写equals方法

原创 2015年07月06日 21:58:54

Object类中的equals方法只有在同一个对象比较时才会返回true,即if(obj1==obj1);

如果一新写的一个类没有重写equals方法,则调用父类equals方法。


在使用容器的remove,contains等方法时,一定要重写相应自己写的类的equals和hashcode。



当equals被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码


public class Point{ 
  private  int x; 
  private  int y; 
  public Point(int x, int y){ 
    this.x = x; 
    this.y = y; 
  } 

  public boolean equals(Object o){ 
    if(!(o instanceof Point)) 
      return false; 
    Point p = (Point)o; 
      return p.x == x && p.y == y; 
  } 

} 




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

重写equals方法

  • 2013-08-21 12:21
  • 48KB
  • 下载

重写toString和equals方法

  • 2013-06-04 21:28
  • 15KB
  • 下载

java重载与重写的区别+重写父类equals方法的完美实现

【0】README0.1) 本文章节【1】和【2】的内容转自 http://www.cnblogs.com/bluestorm/archive/2012/03/01/2376236.html ; ...

【Effective Java】Ch3_Methods:Item8_重写equals方法时遵循通用约定

虽然Object类是一个具体类,但它主要还是用于扩展。因为其所有nonfinal方法(equals、hashCode、toString、clone以及finalize)都是为重写设计的,所以这些方法都...

如何正确的重写equals() 和 hashCode()方法

本文将介绍在java中如何重写equals 和hashCode方法。 —译自:http://www.mkyong.com/java/java-how-to-overrides-equals-and-...
  • G0_hw
  • G0_hw
  • 2017-04-09 16:33
  • 162

如何正确的重写equals() 和 hashCode()方法

equals和hashCode重写技巧

java 重写equals方法

由于Object类默认提供的equals方法,只是比较对象的地址,即其比较的结果和"=="的结果是一样的. 而实际应用中,对象是否相等是由对象特征所决定的,由此Object提供的equal方法,不可...
  • ilyzj
  • ilyzj
  • 2012-09-10 17:31
  • 286

Object 开发中常用的重写方法总结toString,equals,hashCode,compareTo

public String toString() 返回该对象的字符串表示。通常,toString方法会返回一个“以文本方式表示”此对象的字符串。 结果应是一个简明但易于读懂的信息表达式。建议所有子类...

String类重写equals()和hashCode()方法

equals() hashCode() Object String

java重写equals和hashCode方法

java重写hashCode和equals方法
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)