JAVA学习之类的equals方法覆写

来源:互联网 发布:js 监听键盘事件 编辑:程序博客网 时间:2024/06/05 04:13

equals方法覆写

equals方法是Object超类的一个方法,由于超类是所以类的父类,自定义类均可覆写equals方法。

equals方法覆写步骤

  • 1.判断this与obj是否引用同一个对象
if(this == obj) return true;
  • 2.判断obj是否为null
if(obj == null) return false;
  • 3.判断this与obj是否属于同一类
if(this.getClass() != obj.getClass()) return false;
  • *4.将obj转换为相应的类类型
ClassName other = (ClassName) obj;
  • 5.判断域(域)是否相同,基本数据类型使用==,对象域使用equals方法比较
return (field1 == other.field1 && field2.equals(other.feld2));

代码

    @Override    public boolean equals(Object obj) {        if (this == obj) return true;//检测this与obj是否引用同一个对象        if (obj == null) return false;  //检测obj是否为null,如果为null,则返回false        if (this.getClass() != obj.getClass()) return false; //检测this与obj是否属于同一个类,这里使用getClass()方法取得类        Student other = (Student) obj;  //强制将obj转换为Student类        //判断student的字段是否相等        return (field1 == other.field1 && field2.equals(other.feld2));    }
0 0