相關(guān)面試題的回答
StringBuilder 與 StringBuffer 的區(qū)別;
StringBuilder 與 String 的區(qū)別。
StringBuilder效率高,線程不安全,StringBuffer效率低,線程安全。
String是不可變字符串,StringBuilder是可變字符串。為什么有這樣的差異,可以深入源碼去解析,比如String類(lèi)內(nèi)的 priver final char value[] 等方法的原因。
如果是簡(jiǎn)單的聲明一個(gè)字符串沒(méi)有后續(xù)過(guò)多的操作,使用 String,StringBuilder 均可,若后續(xù)對(duì)字符穿做頻繁的添加,刪除操作,或者是在循環(huán)當(dāng)中動(dòng)態(tài)的改變字符串的長(zhǎng)度應(yīng)該用 StringBuilder。使用 String 會(huì)產(chǎn)生多余的字符串,占用內(nèi)存空間。