String簡介:
String是一個(gè)由final修飾的類哗脖,所以String無法被繼承瀑踢,并且Sring中的所有成員方法都默認(rèn)為final方法。
從源碼中可以得知String類是通過char數(shù)組來保存字符串的才避,并且char數(shù)組被final修飾橱夭,所以說String只能被賦值一次(這里如果有異議請(qǐng)看另一篇文章“final關(guān)鍵字”),
從源碼中再次了解到String的任何一個(gè)change操作其實(shí)都new Char[]了棘劣,所以:String對(duì)象一旦被創(chuàng)建就固定不變了,對(duì)String對(duì)象的任何change操作都不會(huì)影響原來的值楞遏,長期不用的值最終會(huì)被GC處理掉茬暇,在開發(fā)當(dāng)中盡可量的少創(chuàng)建String對(duì)象。
StringBuilder 和 StringBuffer 簡介:
由于對(duì)String對(duì)象的頻繁操作大部分都是從新的創(chuàng)建一個(gè)新的對(duì)象寡喝,對(duì)于內(nèi)存空間造成了極大的浪費(fèi)糙俗,所以才出現(xiàn)的StringBuilder和StringBuffer,在功能上他倆之間并沒有太大的區(qū)別预鬓,最主要的就是StringBuilder為非線程安全的巧骚,StringBuffer為線程安全的∩好螅·所以在實(shí)際工作當(dāng)中如果能確定操作為單線程的時(shí)候一定要使用StringBuilder网缝,如果能確定為多線程中操作一定要使用StringBuffer,
姓名:愛新覺羅胖小
說明:第一次寫文章蟋定,有不對(duì)粉臊,不全的地方請(qǐng)大家評(píng)論留言我會(huì)及時(shí)改正。