Java – “== “ 與 equals() 的分別

MartinYeung
·
·
IPFS
·

閱讀時間: 3分鐘

== operator

是用來判斷兩個比較物件是不是有相同的 references (參考或者引用)。

每一個物件都有獨立的reference,假如reference不相同就表示它們是不同的物件(Object)。

equals() method

是用來比較物件的值 (儲存在heap上的值)。

可以判斷兩個有不同references的物件是否指向相同的值。

例子解釋

public final class MyTest
{
    public static void main( String args[] )
    {
        String s1 = new String( "Martin" );
        String s2 = new String( "Martin" );

        System.out.println( s1 == s2 ); // 傳回false
        System.out.println( s1.equals( s2 )); //傳回true
    }
}
  • 不同的物件(Object)可以有相同的值
  • 每次創建新的物件(Object)都會有新的references (參考或者引用)


CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

MartinYeungLove life Love IT IT blog: https://ithelp.ithome.com.tw/users/20119569
  • 来自作者
  • 相关推荐

Java - Volatile keyword的介紹

Java - Atomic VS Volatile

Java - Thread-Safety是什麼 - Part 3