那么我们有时需要比较两个对象就得重写equals()方法。
package tianque.object_high;通过重写equals()我们便可以进行两个对象之间的直接比较。
class Students{
private String name;
private int bookNum;
public Students(String name, int bookNum){
this.name = name;
this.bookNum = bookNum;
}
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(!(obj instanceof Students)){
return false;
}
Students st = (Students)obj;
if(st.name.equals(this.name) && st.bookNum == this.bookNum){
return true;
}else{
return false;
}
}
public String toString(){
return "姓名:"+ this.name+ " 书本数:"+ this.bookNum;
}
}
public class Isequals{
public static void main(String[] args) {
Students st1 = new Students("张三", 14);
Students st2 = new Students("张三", 14);
System.out.println(st1);
System.out.println(st1.equals(st2)?"同一个人":"不是同一个人");
System.out.println(st1.equals("hello")?"同一个人":"不是同一个人");
}
}
//运行结果
//姓名:张三 书本数:14
//同一个人
//不是同一个人