public class equaltest
}執行結果為:
-----【t1==t2】false
-----【(t1+t2)=t3】true
-----【t3=t4】true
-----【i1.equals(i2)】false
-----【i3.equals(i1+i2)】true
-----【i3.equals(i4)】true
-----【st1==st2】false
-----【(st1+st2)==st3】false
-----【st3==st4】true
-----【st1.equals(st2)】false
-----【(st1+st2).equals(st3)】true
-----【st3.equals(st4)】true
總之:「==」比較的是
值【變數(棧)記憶體中存放的物件的(堆)記憶體位址】
equal用於比較兩個物件的值是否相同【不是比位址】
【特別注意】object類中的equals方法和「==」是一樣的,沒有區別,而string類,integer類等等一些類,是重寫了equals方法,才使得equals和「==不同」,所以,當自己建立類時,自動繼承了object的equals方法,要想實現不同的等於比較,必須重寫equals方法。
"=="比"equal"執行速度快,因為"=="只是比較引用.
和equals的應用區別
和equals均表示相等的意思,在他們在進行實際的相等判定時,卻有非常大的區別。在運用基本資料型別的時候,通過比較他們實際的值來判定是否相同,而用於比較引用型別的時候,則是比較兩個引用的位址是否相等,也就是指是否指向同乙個物件。equals是判斷物件的內容是否一樣,如下s3,s4是不同物件,但內容相...
Equals 和 的區別
對於值型別,如果物件的值相等,則相等運算子 返回 true,否則返回 false。對於string 以外的引用型別,如果兩個物件引用同乙個物件,則 返回 true。對於 string 型別,比較字串的值。操作比較的是兩個變數的值是否相等。equals 方法比較的是兩個物件的內容是否一致 equals...
equals 和 的區別
equals 方法 是string類從它的超類object中繼承的 被用來檢測兩個物件是否相等,即兩個物件的內容是否相等。用於比較引用 和 比較基本資料型別時具有不同的功能 1.比較基本資料型別,如果兩個值相同,則結果為true 2.而在比較引用時,如果引用指向記憶體中的同一物件,結果為true s...