返回值:boolean类型;
格式:equals(Object obj)
作用:知识其他某个对象是否与此对象“相等”,
其实就是使用两个对象的内存地址在比较,但是比较内存地址没有意义,通常比较对象中的属性值更有意义,因此子类需要重写equals方法;
例如 :
Person类中:重写equals方法
public boolean equals(Object obj){
Person p =(Person)obj;//Object是父类,父类与子类不能比较,因此父类需要向下转型;
boolean b = p.age==p1.age;
system.out.println(b);
}
除此之外,为了增加代码的健壮性,提高程序运行的效率,需要在代码中增加if条件语句;
增加的代码如下:
情况一:if(obj == null){return false;} //传递参数为null值时的条件判断;
情况二:if (p1 ==obj){return true;}//传递参数obj与要比较的对象相同时的条件判断;
情况三:if(!(obj instanceof Person)){return false ;}//传递参数obj不属于要比较的类的对象;