簡單的理解 equals和==的區別
阿新 • • 發佈:2018-08-12
有時 測試 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和==的區別