程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 如何編寫高質量equals方法

如何編寫高質量equals方法

編輯:關於.NET

什麼是equals方法

指示其他某個對象是否與此對象相等,equals方法存在Object類中,我們編寫的類繼承Object,可以覆蓋Object的equals方法來實現我們的邏輯,去判斷兩個對象是否相等。

Object類中的equals方法

一起來看看Object類中的源代碼

public boolean equals(Object obj) {
return (this == obj);
}

我們可以觀察到幾點:

equals方法是public修飾的,外部類是可以訪問的

equals方法的返回值boolean,true為兩個對象相等,false為兩個對象不等

參數類型為Object,是其子類都可以比較

方法體判斷的是兩者的引用是不是相等

實際上為什麼要編寫equals

在我們的實際的操作中,有下面的例子:

@Test
public void whyUseEquals() {
    User user1 = new User("xujianguo", 21);
    User user2 = new User("xujianguo", 21);
    System.out.println(user1.equals(user2));
}

發user1和user2的name都是xujianguo,age都是21的,按照我們的邏輯是同一個人,都是如果沒有重寫equals方法,默認采用Object的equals方法的話,結果就是false的,所以我們必須實現equals來實現我們的邏輯。

高質量equals方法

1.使用instanceof操作符檢查參數是否為正確的類型

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved