class Person{private String name;private String idStr;public Person(){}public Person(String name , String idStr){this.name = name;this.idStr = idStr;}//下面是name和idStr的setter和getter方法。public void setName(String name){this.name = name;}public String getName(){return this.name;}public void setIdStr(String idStr){this.idStr = idStr;}public String getIdStr(){return this.idStr;}// //重寫equals方法,提供自定義的相等標準// public boolean equals(Object obj)// {// //只有當obj是Person對象// if (obj != null && obj instanceof Person)// {// Person personObj = (Person)obj;// //并且當前對象的idStr與obj對象的idStr相等才可判斷兩個對象相等// if (this.getIdStr().equals(personObj.getIdStr()))// {// return true;// }// }// return false;// }//重寫equals方法,提供自定義的相等標準public boolean equals(Object obj){//待比較的兩個對象是同一個對象,直接返回trueif(this == obj){return true;}//只有當obj是Person對象if (obj != null && obj.getClass() == Person.class){Person personObj = (Person)obj;//并且當前對象的idStr與obj對象的idStr相等才可判斷兩個對象相等if (this.getIdStr().equals(personObj.getIdStr())){return true;}}return false;}}public class OverrideEqualsRight{public static void main(String[] args){Person p1 = new Person("孫悟空" , "12343433433");Person p2 = new Person("孫行者" , "12343433433");Person p3 = new Person("孫悟飯" , "99933433");//p1和p2的idStr相等,所以輸出trueSystem.out.println("p1和p2是否相等?" + p1.equals(p2));//p2和p3的idStr不相等,所以輸出falseSystem.out.println("p2和p3是否相等?" + p2.equals(p3));}}
添加回答
舉報
0/150
提交
取消