java 判斷兩個(gè)對(duì)象是否為同一個(gè)對(duì)象實(shí)例代碼
java 判斷兩個(gè)對(duì)象是否為同一個(gè)對(duì)象
用“==”比較的是引用的地址,用equals比較的就是值。那我們new兩個(gè)相同的對(duì)象什么屬性都一樣,為什么編譯的時(shí)候不相同,這是因?yàn)槲覀冋{(diào)用的是父類也就是Object的equals方法,這里我們就需要重寫這個(gè)equals方法。
public class Test5 { public static void main(String[] args) { User mUser1 = new User("zhangsan", "123456"); User mUser = new User("zhangsan", "123456"); System.out.println(mUser == mUser1); System.out.println(mUser.equals(mUser1)); } } class User { String name = ""; String pwd = ""; @Override//重寫父類的equals方法 public boolean equals(Object obj) { if (obj instanceof User) { User mUser = (User) obj; if (mUser.name.equals(name)&&mUser.pwd.equals(pwd)) { return true; } } return super.equals(obj); } public User(String name, String pwd) { super(); this.name = name; this.pwd = pwd; } }
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解
這篇文章主要介紹了SpringBoot中AOP的動(dòng)態(tài)匹配和靜態(tài)匹配詳解,在創(chuàng)建代理的時(shí)候?qū)δ繕?biāo)類的每個(gè)連接點(diǎn)使用靜態(tài)切點(diǎn)檢查,如果僅通過靜態(tài)切點(diǎn)檢查就可以知道連接點(diǎn)是不匹配的,則在運(yùn)行時(shí)就不再進(jìn)行動(dòng)態(tài)檢查了,需要的朋友可以參考下2023-09-09AndroidQ沙盒機(jī)制之分區(qū)存儲(chǔ)適配
這篇文章主要介紹了AndroidQ沙盒機(jī)制之分區(qū)存儲(chǔ)適配,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06SpringBoot集成Access?DB實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入和解析
microsoft?office?access是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它結(jié)合了?microsoft?jet?database?engine?和?圖形用戶界面兩項(xiàng)特點(diǎn),是一種關(guān)系數(shù)據(jù)庫工具,本文給大家介紹了SpringBoot集成Access?DB實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入和解析,需要的朋友可以參考下2024-11-11應(yīng)用市場(chǎng)中Java攔截器和切面的使用實(shí)例詳解
這篇文章主要介紹了應(yīng)用市場(chǎng)中Java攔截器和切面的使用實(shí)例詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Java實(shí)現(xiàn)注冊(cè)郵箱激活賬戶實(shí)例代碼
本篇文章主要介紹了Java實(shí)現(xiàn)郵箱激活賬戶實(shí)例代碼,這里整理了詳細(xì)的代碼,具有一定的參考價(jià)值,有需要的小伙伴可以參考下。2017-07-07JVM教程之Java代碼編譯和執(zhí)行的整個(gè)過程(二)
這篇文章主要介紹了JVM學(xué)習(xí)筆記第二篇,關(guān)于Java代碼編譯和執(zhí)行的整個(gè)過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03