重寫的對象比較方法equals

重寫的對象比較方法equals


例:

public boolean equals(Object obj)
     return this.name.equals(p.name)&&this.age==p.age;
        }

this表示本對象,比如你這樣調用equals函數:stu1.equals(stu2),this就表示stu1。
this == obj是直接使用 == 進行比較 == 的判斷標準是隻有2個對象都是引用的相同對象才相等。
而如果二者是不同的對象,equals還想通過比較兩個對象的name和age的方式判斷是否是相等的,如果兩個對象是相同的類型並且name和age相等,也認爲兩個對象相等。
這段代碼就是這個作用的。

也可以這麼理解:

stu.name.equals(this.name)
//句等同於
String name = stu.name;
name.equals(this.name)
//對象stu的屬性name所屬的類型(應該爲String)有equals方法
發佈了33 篇原創文章 · 獲贊 88 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章