字符串比較

        s不是對象, 是對象的地址
        只有String有個 pool   生成字符串對象時,先在池里找有沒有  abc,  生成的 new String() 是在堆里面的
        String s = new String("abc");

        String s1 = "abc";

        String s2 = new String("abc");


        //對引用類型來說==號比較的是內(nèi)存的地址 (原生數(shù)據(jù)比較的是值)
        System.out.println(s == s1);
        System.out.println(s == s2);
        System.out.println(s1 == s2);


        System.out.println(s.equals(s1));
        System.out.println(s.equals(s2));
        System.out.println(s1.equals(s2));

        System.out.println("--------------------------------");
        System.out.println(s == s.intern());
        System.out.println(s1 == s1.intern());
        System.out.println(s.intern() == s2.intern());

        System.out.println("--------------------------------");

        String hello = "hello";
        String he = "he";
        String llo = "llo";

        //如果==號2邊都是常量值的話,拼完會在常量池檢查有沒有對應(yīng)的值
        System.out.println(hello == "he" + "llo"); //true
        //如果有不是常量(變量), 不檢查常量池了, 直接在堆中創(chuàng)建對象
        System.out.println(hello == "he" + llo); //false

執(zhí)行結(jié)果:

false
false
false
true
true
true
--------------------------------
false
true
true
--------------------------------
true
false
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容