String官边、StringBuilder與StringBuffer

1.String

  • String本質(zhì)

String是不可變的凤巨,他的實(shí)質(zhì)是被final修飾過的char數(shù)組针炉。

 public final class String
 implements java.io.Serializable, Comparable<String>, CharSequence     {
   /** The value is used for character storage. */
   private final char value[];
  • String方法

編號 方法 說明
1 char charAt(int index) 返回指定索引處的 char 值。
2 int compareTo(String anotherString) 按字典順序比較兩個(gè)字符串渠羞。
3 boolean endsWith(String suffix) 測試此字符串是否以指定的后綴結(jié)束斤贰。
4 byte[] getBytes() 使用平臺的默認(rèn)字符集將此 String 編碼為 byte 序列,并將結(jié)果存儲到一個(gè)新的 byte 數(shù)組中次询。
5 int length() 返回此字符串的長度荧恍。
6 boolean matches(String regex) 告知此字符串是否匹配給定的正則表達(dá)式。
7 String replace(char oldChar, char newChar) 返回一個(gè)新的字符串屯吊,它是通過用 newChar 替換此字符串中出現(xiàn)的所有 oldChar 得到的块饺。
8 String[] split(String regex) 根據(jù)給定正則表達(dá)式的匹配拆分此字符串。
9 String substring(int beginIndex) 返回一個(gè)新的字符串雌芽,它是此字符串的一個(gè)子字符串。
10 char[] toCharArray() 將此字符串轉(zhuǎn)換為一個(gè)新的字符數(shù)組辨嗽。
11 String trim() 返回字符串的副本世落,忽略前導(dǎo)空白和尾部空白。
  • 有關(guān)String的面試題

String s1 = "abc"; // 常量池
String s2 = new String("abc"); // 堆內(nèi)存中
System.out.println(s1==s2); // false兩個(gè)對象的地址值不一樣糟需。
System.out.println(s1.equals(s2)); // true

2.StringBuilder與StringBuffer

  • 簡短介紹

String:字符串常量屉佳,字符串長度不可變。用于存放字符的數(shù)組被聲明為final洲押。
StringBuffer:字符串變量(Synchronized武花,即線程安全)¤菊剩可將字符串緩沖區(qū)安全地用于多個(gè)線程体箕。
StringBuilder:字符串變量(非線程安全)专钉。在內(nèi)部 StringBuilder 對象被當(dāng)作是一個(gè)包含字符序列的變長數(shù)組。

  • 使用選擇

  1. 如果要操作少量的數(shù)據(jù)用 String累铅,大量操作使用StringBuffer 和 StringBuilder 是因?yàn)槟軌虮欢啻蔚男薷脑拘耄⑶也划a(chǎn)生新的未使用對象。
  2. 單線程大量操作數(shù)據(jù)用StringBuilder娃兽,它的速度大于StringBuffer菇民。
  3. 多線程大量操作數(shù)據(jù)用StringBuffer,但是stringbuffer 的線程安全投储,僅僅是保證 jvm 不拋出異常順利的往下執(zhí)行而已第练,它可不保證邏輯正確和調(diào)用順序正確,所以并不常用玛荞。
  • StringBuilder操作小案例

StringBuildera=newStringBuilder(""); 
a.append("i'm a good boy");//附加
System.out.println(a.toString());
a=a.reverse();//翻轉(zhuǎn)
System.out.println(a.toString());
a.delete(0,1);//刪除
System.out.println(a.toString());
a.insert(0,"ha");//插入
System.out.println(a.toString());
a.replace(1,2,"666");//替換
System.out.println(a.toString()); 

對應(yīng)結(jié)果

i'm a good boy
yob doog a m'i
ob doog a m'i
haob doog a m'i
h666ob doog a m'i

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末娇掏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子冲泥,更是在濱河造成了極大的恐慌驹碍,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凡恍,死亡現(xiàn)場離奇詭異志秃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)嚼酝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門浮还,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闽巩,你說我怎么就攤上這事钧舌。” “怎么了涎跨?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵洼冻,是天一觀的道長。 經(jīng)常有香客問我隅很,道長撞牢,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任叔营,我火速辦了婚禮屋彪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绒尊。我一直安慰自己畜挥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布婴谱。 她就那樣靜靜地躺著蟹但,像睡著了一般躯泰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矮湘,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天斟冕,我揣著相機(jī)與錄音,去河邊找鬼缅阳。 笑死磕蛇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的十办。 我是一名探鬼主播秀撇,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼向族!你這毒婦竟也來了呵燕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤件相,失蹤者是張志新(化名)和其女友劉穎再扭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夜矗,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡泛范,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了紊撕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罢荡。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖对扶,靈堂內(nèi)的尸體忽然破棺而出区赵,到底是詐尸還是另有隱情,我是刑警寧澤浪南,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布笼才,位于F島的核電站,受9級特大地震影響络凿,放射性物質(zhì)發(fā)生泄漏患整。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一喷众、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧紧憾,春花似錦到千、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膀息。三九已至,卻和暖如春了赵,著一層夾襖步出監(jiān)牢的瞬間潜支,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工柿汛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冗酿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓络断,卻偏偏與公主長得像裁替,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子貌笨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容