Java中equals()方法重寫實(shí)現(xiàn)代碼
Java中equals()方法重寫實(shí)現(xiàn)代碼
Java中的equals()方法是在Object類中定義,Object類是所有類的父類。換句話說,任何類都隱含地繼承了該方法。判斷兩個對象的內(nèi)容是否相同,必須使用equals()方法,對于沒有重寫該方法的類,需要重寫該方法。
重寫equals()方法代碼如下:
/** *equlas()方法重寫實(shí)例 */ class User { /** *方法描述:設(shè)置name值 *輸入?yún)?shù):String name *返回類型:void */ public void setName(String name) { this.name = name; } /** *方法描述:獲取name值 *輸入?yún)?shù): *返回類型:String */ public String getName() { return name; } /** *方法描述:重寫equals()方法 *輸入?yún)?shù):Object obj *返回類型:boolean */ public boolean equals(Object obj) { if(this == obj) { return true; } if(null == obj) { return false; } if(getClass() != obj.getClass()) { return false; } User user = (User) obj; if(!name.equals(user.name)) { return false; } return true; } private String name; } public class EqualsDemo { public static void main(String[] args) { User userA = new User(); userA.setName("王明"); User userB = new User(); userB.setName("王明"); User userC = new User(); userC.setName("王亮"); System.out.println("userA equals userB:" + userA.equals(userB)); System.out.println("userA equals userC:" + userA.equals(userC)); } }
運(yùn)行結(jié)果如下所示:
總結(jié):
1.對象內(nèi)容的比較,需要使用equals()方法,若是對于已經(jīng)重寫該方法的類,例如String類,就無需再重寫;若是沒有重寫,例如自定義的User類,就需要重寫。
2.Java語言中的“==”對于基本數(shù)據(jù)類型就是比較其值,而對于對象就是比較對象的引用。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
SpringBoot結(jié)合Redis哨兵模式的實(shí)現(xiàn)示例
這篇文章主要介紹了SpringBoot結(jié)合Redis哨兵模式的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04mybatis那些約定的配置你真的都了解嗎(經(jīng)驗(yàn)總結(jié))
mybatsi中Mapper和xml文件之間有很多約定俗稱的規(guī)則,比如名稱匹配,包掃描,別名等,這些規(guī)則是什么。如果想更加靈活,該如何配置呢?今天就給大家講一下如何配置mybatsi的xml文件2021-06-06mybatis整合springboot報BindingException:Invalid?bound?stateme
這篇文章主要給大家介紹了關(guān)于mybatis整合springboot報BindingException:Invalid?bound?statement?(not?found)異常的解決辦法,這個錯誤通常是由于Mapper文件中的statement?id與Java代碼中的方法名不一致導(dǎo)致的,需要的朋友可以參考下2024-01-01IntelliJ IDEA2021.1 配置大全(超詳細(xì)教程)
這篇文章主要介紹了IntelliJ IDEA2021.1 配置大全(超詳細(xì)教程),需要的朋友可以參考下2021-04-04JAVA Spring中讓人頭痛的JAVA大事務(wù)問題要如何解決你知道嗎
這篇文章主要介紹了Java Spring事務(wù)使用及驗(yàn)證過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2021-09-09Idea2023配置JavaWeb項(xiàng)目(最新)
本文將介紹如何配置JavaWeb項(xiàng)目,以在Idea中實(shí)現(xiàn)開發(fā)環(huán)境,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09