重写Object的equals方法从本来对比俩个实例化对象返回false变为返回true。
package com.cctu;
public class ccuyw {
public static void main(String[] args) {
ss s=new ss("肖泽斌",0032,20);//equals是比较栈内的东西。
ss s1=new ss("肖泽斌",0032,20);//栈的内的不一样。堆里的内存指引可能相同
System.out.println(s.equals(s1));//重写equals方法达到比较s和s1返回true;
System.out.println(s.equals(s1));
}
}
class ss{
private String name;
private long isd;
private int age;
public ss(){}
public ss(String name,int ids,int age){
this.name=name;
this.age=age;
this.isd=isd;
}
public int getAge() {
return age;
}
public long getIsd() {
return isd;
}
public String getName() {
return name;
}
public String toString(){
return "name="+name+",isd="+isd+",age="+age;
}
public boolean equals(Object obj) {
if (this != obj) {
if (this.name != getName()) {
return false;
}
if (this.isd != getIsd()) {
return false;
}
if (this.age != getAge()) {
return false;
}
} else {
return true;
}
return true;
}
}