課程
/后端開發
/Java
/Java入門第三季
為什么equals方法重寫中要在調用equals而不用==
2015-04-28
源自:Java入門第三季 6-1
正在回答
Object類中的方法,適合所有子類。
1.toString()方法
在Object類里面定義了toString()方法的時候返回的對象的哈希code碼(對象地址字符串)
可以通過重寫toString()方法表示出對象的屬性(source菜單欄下的Generate toString())
2.equals()方法(source菜單欄下的Generate hashCode()and equals())
比較的是對象的引用是否指向同一塊內存地址
重寫equals()方法以后可以比較兩個不同內存地址的對象是否相等。
==:
* 如果操作的是基本數據類型的數據,比較的數值是否相等
* 如果操作的是引用數據類型的數據,比較的地址值是否相等
equals:
* 只能夠比較引用數據類型的數據, 默認比較的是地址值是否相等
* 默認的比較方式通常來說是沒有意義的
* 我們需要重寫此方法,讓它來比較兩個對象中的內容是否一致?
String對象繼承自Object,并且對equals()方法進行了重寫
String s1 = new String("Hello");
String s2 = new String("Hello");
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
以上代碼段的打印結果是:
false
true
yuanyinguo
我喜歡Love 提問者
可以再認真看一下字符串講解的章節,對于字符串"=="和"equals"的作用不同
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
4 回答equals方法重寫怎么包含了一個遞歸調用啊,這樣一來本質上不還是在用==來判斷嗎?
3 回答重寫equals后調用contains會自動調用所重寫的equals?(contains的原理?)
10 回答為什么不可以調用equals方法
2 回答equals與==的問題
2 回答重寫equals()問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-04-30
Object類中的方法,適合所有子類。
1.toString()方法
在Object類里面定義了toString()方法的時候返回的對象的哈希code碼(對象地址字符串)
可以通過重寫toString()方法表示出對象的屬性(source菜單欄下的Generate toString())
2.equals()方法(source菜單欄下的Generate hashCode()and equals())
比較的是對象的引用是否指向同一塊內存地址
重寫equals()方法以后可以比較兩個不同內存地址的對象是否相等。
==:
* 如果操作的是基本數據類型的數據,比較的數值是否相等
* 如果操作的是引用數據類型的數據,比較的地址值是否相等
equals:
* 只能夠比較引用數據類型的數據, 默認比較的是地址值是否相等
* 默認的比較方式通常來說是沒有意義的
* 我們需要重寫此方法,讓它來比較兩個對象中的內容是否一致?
String對象繼承自Object,并且對equals()方法進行了重寫
String s1 = new String("Hello");
String s2 = new String("Hello");
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
以上代碼段的打印結果是:
false
true
2015-04-28
可以再認真看一下字符串講解的章節,對于字符串"=="和"equals"的作用不同