Objec的equals方法 定义为:x.equals(y),当x和y是同一个对象时返回true,否则返回false.
==比较的是简单数据类型,直接比较值。如1==2
如果使用Object中的equals方法,底层其实仍然在使用==比较,比较对象的时候,其实比较的是两个对象的内存的地址
equals直接使用时

equals重写
public boolean equals(Object obj){
//自己与自己比较
if(this == obj){
return true;
}
//判断obj是否属于Student
if(obj instanceof Student){
Student stu = (Student)obj;
if(this.getName().equals(stu.getName())&&this.getId()==stu.getId()&&this.getScore()==stu.getScore()){
return true;
}
}else{
}
return false;
}

这篇博客探讨了Java中对象的equals方法和==运算符的区别。equals默认行为是基于内存地址比较,而==则直接比较基本类型值或对象引用。当需要根据对象属性进行比较时,需要重写equals方法,如示例所示,确保根据实际业务逻辑进行对象内容的比对。此外,还强调了在比较自定义对象时,正确重写equals和hashCode方法的重要性。
1606

被折叠的 条评论
为什么被折叠?



