重写object类中的equals方法
2020-07-19 04:51
911 查看
重写object类中的equals方法
equals 方法默认比较对象的地址值,所以如果要比较属性的话,
要对equals方法进行重写
问题:
举例:创建了一个person的object的子类
隐含一个问题,object是person的父类,重写之后无法使用person的独有方法(属性和方法)
只能将Object obj向下转型成Person obj才嫩更使用子类的独有方法
//重写equals方法
@Override
public boolean equals(Object obj) { if (obj==null){//若为空,则比较失败 return false; } if (this==obj){//这个就是用来与自身进行比较的,this其实就是obj return true; } if (obj instanceof Person){ Person p= (Person)obj;//将obj向下转型为person boolean b= this.name.equals(obj)&& this.age==((Person) obj).age; return b; } return false;//比较出错,都不符合前面的要求 }
相关文章推荐
- 类中重写了Object类的equals方法后,为什么要重写hashcode方法?不重写可以吗?
- 关于object类的两个重要方法以及为什么重写equals一定要重写hashcode()
- 重写Object类中的Equals方法(Java)
- Object类重写equals方法和重写hashcode方法之间的充分必要性
- Java中重写Object类的equals方法和hashcode方法的注意事项
- 重写Object类中的equals方法
- Java中重写Object类的equals方法和Hashcode方法的注意事项
- 重写Object类的hashCode和equals方法的一次尝试
- Java:object类 中常用equals()和 toString()方法的重写
- java中重写Object类的equals方法和Hashcode方法的注意事项
- 重写object类中的equals方法
- java学习之旅40--面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- Java中重写Object类的equals方法和 hashcode方法的注意事项
- Java基础——权限修饰符、重写、super、final关键字、Object类、toString方法、equals、多态、转型cast、抽象abstract
- Java第十一天(内部类、、访问权限修饰符、Object类包括toString和equals方法重写)
- 30。Object类,相等和同一的概念,equals 方法,equlas方法的重写
- Java_Object类中equals方法的实现是什么?重写一个equals方法有什么注意事项?
- 40_面向对象_13_继承_Object类用法_toString和equals方法_重写toString
- HashMap什么时候重写hashcode和equals方法,为什么需要重写
- 重写equals方法