亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

equals與==、、、、內存地址與引用內容

equals與==越看越混,之前看到說equals比較的是兩個引用是否指向同一個內存地址,而==比較的也是內存地址(對于引用而言,對于數據比較的是數據類型是否相同),看起來兩者沒什么區別,現在又說equals比較的是引用的內容是否相同,不是比較內存地址嗎???

內存地址與引用內容有什么區別?????

還有就是上面的理解如果有誤的話也請指出來,基礎比較差,多謝指教?。?!

正在回答

6 回答

這個我也查了一下,之前也有疑問,查了之后才知道equals一般情況下確實比較的是地址,但有種情況例外,就是當equals()的括號里面是字符串的時候比較的是內容,應該不會錯,希望對你有幫助,加油

2 回復 有任何疑惑可以回復我~
#1

慕函數8614728 提問者

謝謝,這樣說就懂啦,
2017-09-07 回復 有任何疑惑可以回復我~
#2

學霸985

額額,謝謝。
2019-02-24 回復 有任何疑惑可以回復我~

請問這個equals在哪一節講過,忘了哪一節了

0 回復 有任何疑惑可以回復我~
#1

慕的地2053752

哈希嗎里面,面向對象中Sting toString那一節
2019-03-27 回復 有任何疑惑可以回復我~

在Java中,String 、Math、還有Integer、Double。。。。等這些封裝類重寫了Object中的equals()方法,讓它不再比較其對象在內存中的地址,而是比較對象中實際包含的整數的值,即比較的是內容。

1 回復 有任何疑惑可以回復我~

java大多數類庫都實現了equals()方法,以便用來比較對象的內容,而非比較對象的引用。就像String類

0 回復 有任何疑惑可以回復我~

你可以這么理解:equals比較的是字符串的具體內容,而==比較的是對象的內存地址。

0 回復 有任何疑惑可以回復我~
#1

NJP

而對象也可以自己重寫equals方法來自定義判斷兩個對象是否相等的條件。
2017-09-07 回復 有任何疑惑可以回復我~
#2

慕函數8614728 提問者

謝謝你啦
2017-09-07 回復 有任何疑惑可以回復我~

他里面說的應該是對的,我測試的結果也是一樣的,就是equals只比較內容,而==不僅比較內容還要比較地址相等才能是true.

1 回復 有任何疑惑可以回復我~
#1

慕函數8614728 提問者

謝謝你啦
2017-09-07 回復 有任何疑惑可以回復我~
#2

慕函數8614728 提問者

==可以比較內容嗎?好像不可以吧
2017-09-07 回復 有任何疑惑可以回復我~
#3

慕的地2053752 回復 慕函數8614728 提問者

之前的練習里面比較書名是否相同就得用equals,用==就會報錯
2019-03-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409766    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

equals與==、、、、內存地址與引用內容

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號