参考String重写的equal()
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
自己重写写的Customer中的equal()
public boolean equals(Object o) {
if (this == o){
return true;
}
if (o instanceof Customer){
Customer customer = (Customer) o;
//比较两个对象的每个属性是否都相同
if (this.age == customer.age && this.name.equals(customer.name)){
return true;
}
return false;
}
return false;
}
主要步骤
//重写equal只有 true
//1、 判断是否地址值相同 地址值都相同肯性相同
//2、判断是否是同一对象内容,不是同一对象不对比
//3、把形参强转成this对象类型
//4、挨个调用属性进行对比,基本数据类型用 == ; 引用数据类型用equal()
//5、每个都相等 返回true 否则返回false