一道String字符串比較問題引發(fā)的字節(jié)碼分析

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

    main(String[] args)  ="a";
        String s2="b";
        String s12 = "ab";
        String s3 = s1 + s2;
        p(s3==s12);  ="a"+"b";
        String s2 = "ab";
        p(s1==s2);

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

這是我們經(jīng)常碰到的煩人的String比較問題,要得到答案,就要弄清楚aa()方法中的s3的內(nèi)存在哪里?,和bb()方法中的s1的內(nèi)存在哪里?

不多說,貼上a.class文件反編譯的字節(jié)碼指令:

網(wǎng)友評(píng)論