1. 程式人生 > >簡單的理解 equals和==的區別

簡單的理解 equals和==的區別

有時 測試 nbsp 分享 com out demo1 圖片 png

直接上代碼:

     //== 比較的是地址
        String test = new String("測試");
        String test1 = new String("測試");
        System.out.println(test==test1);
        String a = new String("Test");
        System.out.println("");
        //equals 比較的是 兩個對象的內容
        String demo = new String("Hello");
        String demo1 = new String("Hello");
        System.out.println(demo.equals(demo1));

        //引用類型
        test = a;
        test1 = a;
        System.out.println(test==test1);

結果:

    技術分享圖片

第一次:用==比較test和test1 答案是 false 那是因為 它們之間的內容是屬於不同的空間,(地址不同)

第二次:用equals比較demo和demo1 答案是 true 因為 equals 比較的是兩個對象的相同的內容並沒有去比較地址 (有時候也會去比較地址)

第三次:將test和test1對象的值都指向了a(同一個地址),用==去比較,運行結果為true。

簡單的理解 equals和==的區別