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

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

并不是很理解== 和equals之間區別。

? 看了一個大佬回答 我是這樣認為的。

  1. 基本數據類型,應用雙等號(==),比較的是他們的值。?

  2. 復合數據類型(類)?用(==)進行比較的時候,比較的是他們在內存中的存放地址,?

    而equals的方法原本也是比較地址的,但在一些類庫當中這個方法被覆蓋掉了,如String,Integer,Date在這些類當中equals有其自身的實現,而不再是比較類在堆內存中的存放地址了,就是所謂比較值。

    是不是這樣認為呢?

    如果是

    題目中String s = "aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd"; 因為是string 那用equals比較的就是值?為什么不能單獨用equals呢 a是值???有大佬知道嗎?

? ? ?另外 為什么不能用s[i].equals('a')呢

正在回答

4 回答

先回答你的最后一個問題吧——

首先:s是一個字符串,不能用是s[i]訪問某一個字符,這是數組的特有形式(我剛剛測試的,編譯器如是報錯的,你可以在你的eclipse中試一試)

其次:即使你用s.charAt(i)得到了某一個字符,也不能用.equals()方法,因為字符是基本數據類型,而不是類/對象,所以不能用【 . 方法()】 ??

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

默默努力的友人A 提問者

OK 懂了 我說的什么單獨使用equals是我理解錯了,現在懂了。 最后一個問題,我忘在eclipse運行,當時有點迷。。 誤將字符串當成數組形式進行運算了,哈哈哈,謝謝你了,非常感謝。ありがとうございます!鞠躬!
2019-12-13 回復 有任何疑惑可以回復我~
//String類位于java.lang包中,默認導入
//==如果作用于基本數據類型,則比較的是值是否相等;
//如果作用于引用類型,則比較的是變量所指向的對象的地址
//對于非String、Date類型equals比較的是引用類型的變量所指向的對象的地址
//但對于String、Date類型,在其類中重寫了equals(),所以比較的是值
//Object類型相等判斷為什么重寫equals()和hashcode()
//equals()方法是比較兩個對象的內存地址是否相等,如果不重寫,顯然兩個對象由于不同存儲地址所以是不相等的
//總結==符號在不作用于基本數據類型時,比較地址
//equals在不作用于String,Data時候,比較地址


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

慕少1317773

不作用于 可否理解為 在不是基本數據類型時使用 你們這些大佬在解釋的時候可否通俗易懂點, 理解你們的意思都要理解半天
2020-05-20 回復 有任何疑惑可以回復我~
可以用s.toCharArray方法,把s轉為char類型數組,變成字符數組,再用for循環遍歷char數組比較是否為a,比較的時候用==,而且后邊比較的字符得用單引號。


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

沒太搞懂你說的什么意思。。。什么叫單獨使用equals?

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

舉報

0/150
提交
取消

并不是很理解== 和equals之間區別。

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

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

幫助反饋 APP下載

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

公眾號

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