課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
這里是只有實例化的對象用equals()比較才需要重寫是嗎?要是平時,比方說賦值int a=0;int b=0;然后比較a是否等于b就不需要重寫是為什么,難道a和b不需要分配地址嗎
2016-09-13
源自:Java入門第二季 升級版 9-9
正在回答
因為a,b是基本類型,并且不是你寫的那個類的成員變量,所以a,b是不能用equals比較的,如果強行用equals比較,則會編譯報錯。你提到重寫,重寫的概念是在需要在子類中重寫其父類的方法,可是,基本類型有父類嗎?沒有,所以重寫基本類型的數(shù)據(jù)的equals方法這一概念就不存在。至于分配內(nèi)存這個問題,在調(diào)用它們的時候,肯定分配了內(nèi)存給它們。所以,這是為何基本類型只能用==比較,而不能用equals。
a和b是int類型,字符串用equals().
因為兩種都是數(shù)據(jù)類型?
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構(gòu)中體會Java面向?qū)ο缶幊痰膴W妙
2 回答為什么會用source重寫equals出現(xiàn)
2 回答為什么要重寫equals方法?
2 回答為什么非要重寫equals()方法
3 回答類的比較和string的比較有什么不一樣?
2 回答重寫equals使用intanceof
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2016-09-19
因為a,b是基本類型,并且不是你寫的那個類的成員變量,所以a,b是不能用equals比較的,如果強行用equals比較,則會編譯報錯。你提到重寫,重寫的概念是在需要在子類中重寫其父類的方法,可是,基本類型有父類嗎?沒有,所以重寫基本類型的數(shù)據(jù)的equals方法這一概念就不存在。至于分配內(nèi)存這個問題,在調(diào)用它們的時候,肯定分配了內(nèi)存給它們。所以,這是為何基本類型只能用==比較,而不能用equals。
2016-09-14
a和b是int類型,字符串用equals().
2016-09-13
因為兩種都是數(shù)據(jù)類型?