注:自定义的类想要比较内容是否相等都要重写equals()方法,但是可以自动生成,作用是一样的都是判断对象的内容是否相等:在Source-->Generate hashCode()and equals();
1、是一个方法,不是运算符,所以基本类型不能用,(但在包装类中就可以使用) 。
2、只能适用于引用数据类型
3、object类中equals()的定义:
public boolean equals(Objwct obj){
return (this= = obj);
}
说明:object类中定义的方法和= =的作用是相同的:比较两个对象的地址值是否相同,及两个引用是否指向同一个对象
4、像String 、Date、File、包装类等都重写了equals()方法。重写以后,比较的不是两个引用的地址值是否相同,而是比较两个对象的“实体内容”是否相同。
5、自定义类如何重写方法:
通常情况,我们自定义的类如果 使用equals()的话,也通常是比较两个对象的“实体内容”是否相同。那么我们就需要对Object类中的equals()方法进行重写;
重写原则:比较两个对象的“实体内容”(即namet age)是否相同