1、String對(duì)象時(shí)不可變的,每次修改String實(shí)際上都是創(chuàng)建了一個(gè)全新的String對(duì)象
2、用于String對(duì)象的+和+=操作符是java中唯一重載過的操作符,java中不允許程序員自定義操作符
3、研究javap命令!!!
4、字符串相加的代碼,每次相加都會(huì)產(chǎn)生一個(gè)新的字符串,這造成了系統(tǒng)的額外開銷,因此編譯器會(huì)自動(dòng)引入StringBuilder類,并調(diào)用append方法代替字符串相加,這樣做就只是在最終新建了一個(gè)字符串對(duì)象而已,提高了效率。但是,如果在循環(huán)代碼中使用字符串拼接,仍然建議使用StringBuilder類來操作,因?yàn)榫幾g器自動(dòng)引入的StringBuilder會(huì)在每一次循環(huán)都初始化一個(gè)對(duì)象出來,這也是沒有必要的。而且顯式的創(chuàng)建StringBuilder的做法還可以預(yù)先指定大小,以避免重復(fù)分配緩存
5、StringBuilder和StringBuffer的區(qū)別,后者是線程安全的
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注