課程
/后端開發
/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比較,則會編譯報錯。你提到重寫,重寫的概念是在需要在子類中重寫其父類的方法,可是,基本類型有父類嗎?沒有,所以重寫基本類型的數據的equals方法這一概念就不存在。至于分配內存這個問題,在調用它們的時候,肯定分配了內存給它們。所以,這是為何基本類型只能用==比較,而不能用equals。
a和b是int類型,字符串用equals().
因為兩種都是數據類型?
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
2 回答為什么會用source重寫equals出現
2 回答為什么要重寫equals方法?
2 回答為什么非要重寫equals()方法
3 回答類的比較和string的比較有什么不一樣?
1 回答用重寫equals()方法比較兩個手機,屬性都相同,運行結果怎么是不同的
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-09-19
因為a,b是基本類型,并且不是你寫的那個類的成員變量,所以a,b是不能用equals比較的,如果強行用equals比較,則會編譯報錯。你提到重寫,重寫的概念是在需要在子類中重寫其父類的方法,可是,基本類型有父類嗎?沒有,所以重寫基本類型的數據的equals方法這一概念就不存在。至于分配內存這個問題,在調用它們的時候,肯定分配了內存給它們。所以,這是為何基本類型只能用==比較,而不能用equals。
2016-09-14
a和b是int類型,字符串用equals().
2016-09-13
因為兩種都是數據類型?