第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java中==和equals()之間有什么區(qū)別?

Java中==和equals()之間有什么區(qū)別?

犯罪嫌疑人X 2019-05-22 15:16:38
Java中==和equals()之間有什么區(qū)別?我想澄清一下我是否理解正確:== - >是參考比較,即兩個對象都指向相同的內(nèi)存位置.equals() - >計算對象中值的比較我的理解是正確的嗎?
查看完整描述

4 回答

?
www說

TA貢獻(xiàn)1775條經(jīng)驗 獲得超8個贊

一般來說,你的問題的答案是“是”,但......

  • .equals(...) 只會比較它所寫的比較,不多也不少。

  • 如果一個類沒有覆蓋equals方法,那么它默認(rèn)為equals(Object o)覆蓋此方法的最近父類的方法。

  • 如果沒有父類提供覆蓋,那么它默認(rèn)為最終父類Object的方法,因此您將使用該Object#equals(Object o)方法。根據(jù)Object API,它與==; 也就是說,當(dāng)且僅當(dāng)兩個變量引用同一個對象時,如果它們的引用是同一個,它才返回true 。因此,您將測試對象相等性而不是功能相等性。

  • hashCode如果你改寫equals,總是記得覆蓋,以免“違反合同”。根據(jù)API,如果hashCode()兩個對象的方法表明它們是等價的,那么從兩個對象的方法返回的結(jié)果必須相同equals。反過來并不一定是真的。


查看完整回答
反對 回復(fù) 2019-05-22
?
皈依舞

TA貢獻(xiàn)1851條經(jīng)驗 獲得超3個贊

關(guān)于String類:

equals()方法比較String實例(在堆上)中的“值”,而不管兩個對象引用是否引用相同的String實例。如果任何兩個String類型的對象引用引用相同的String實例那么太棒了!如果兩個對象引用引用兩個不同的String實例,則它沒有區(qū)別。它是正在比較的每個String實例中的“值”(即:字符數(shù)組的內(nèi)容)。

另一方面,“==” 運(yùn)算符比較兩個對象引用的值,以查看它們是否引用相同的String實例。如果兩個對象引用的值“引用”相同的String實例,則布爾表達(dá)式的結(jié)果將為“true”.. duh。另一方面,如果兩個對象引用的值“引用” 不同的String實例(即使兩個String實例具有相同的“值”,也就是說,每個String實例的字符數(shù)組的內(nèi)容都相同)布爾表達(dá)式的結(jié)果將為“false”。

與任何解釋一樣,讓它沉入其中。

我希望這可以解決一些問題。


查看完整回答
反對 回復(fù) 2019-05-22
  • 4 回答
  • 0 關(guān)注
  • 1555 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號