java 「 」與 equals()的異同

2021-09-12 08:57:04 字數 485 閱讀 3633

通俗的講,== 是看看左右是不是乙個東西。equals是看看左右是不是長得一樣。

==:等於,equals:相同。兩個長得一樣的人,只能說長的相同(equals),但是不等於他們倆是乙個人。你只要記住equals,==就不用記了。

理論的講,

1.==是判斷兩個變數或例項是不是指向同乙個記憶體空間

2 equals是判斷兩個變數或例項所指向的記憶體空間的值是不是相同

3.==是指對記憶體位址進行比較 ,equals()是對字串的內容進行比較

如果比較的物件時基本資料型別,只能使用 「==」,因為 equals()是一種函式,必須是依託於引用型別。基本資料型別不是物件,根本不存在函式。

如果比較的是引用資料型別,如果 equals()方法不被重寫,預設比較的是記憶體位址。此時,「==」 與 equals()返回的值一樣。

java 與equals的區別

號比較引用型別比較的是位址值是否相同 equals 比較引用型別預設也是比較位址值是否相同,而string類重寫了equals 方法,比較的是內容是否相同。package name public class text02 執行結果為 false true true true 字串如果是變數相加,先開...

java中equals 與 的區別

public class teststring 這個程式真是簡單啊!可是有什麼問題呢?1.來自 string 的憂慮 上面這段程式中,到底有幾個物件呢?可能很多人脫口而出 兩個,s1 和 s2 為什麼?string 是 final 類,它的值不可變。看起來似乎很有道理,那麼來檢測一下吧,稍微改動一下...

Java中 與equals的區別

equals和 是兩個很容易混淆也是很多初學者容易搞不清的比較 方法 下面舉個例子,大家就一目了然了 比如 integer int1 new integer 1 integer int2 new integer 1 string str1 new string hello string str2 n...