在Java中,equals()方法是用來比較兩個(gè)對(duì)象是否相等的方法。它是Object類的一個(gè)方法,所有的Java類都繼承了Object類,所以都可以使用equals()方法。
默認(rèn)情況下,equals()方法比較的是兩個(gè)對(duì)象的引用是否相等,即兩個(gè)對(duì)象是否指向內(nèi)存中的同一地址。但是,很多時(shí)候我們希望比較的是對(duì)象的內(nèi)容而不是引用,這時(shí)我們可以重寫equals()方法。
重寫equals()方法時(shí),一般需要滿足以下幾個(gè)條件:
重寫equals()方法后,我們可以根據(jù)自己的需求來比較兩個(gè)對(duì)象的內(nèi)容是否相等。一般比較的是對(duì)象的屬性值是否相等,可以使用屬性值來判斷兩個(gè)對(duì)象是否相等。
注意:在重寫equals()方法時(shí),也應(yīng)該同時(shí)重寫hashCode()方法,因?yàn)楦鶕?jù)Java規(guī)范,兩個(gè)對(duì)象相等的話,它們的hashCode()方法應(yīng)該返回相同的值。