java的String和StringBuffer類

來源:互聯網
上載者:User

這裡總結一下同時適用於String和StringBuffer的方法,以便對它們相互間的溝通方式有一個印象。這些表格並未把每個單獨的方法都包括進去,而是包含了與本次討論有重要關係的方法。那些已被覆蓋的方法用單獨一行總結。
首先總結String類的各種方法:

方法 自變數,覆蓋 用途

構建器 已被覆蓋:預設,String,StringBuffer,char數組,byte數組 建立String對象
length() 無 String中的字元數量
charAt() int Index 位於String內某個位置的char
getChars(),getBytes 開始複製的起點和終點,要向其中複製內容的數組,對目標數組的一個索引 將char或byte複製到外部數組內部
toCharArray() 無 產生一個char[],其中包含了String內部的字元
equals(),equalsIgnoreCase() 用於對比的一個String 對兩個字串的內容進行等價性檢查
compareTo() 用於對比的一個String 結果為負、零或正,具體取決於String和自變數的字典順序。注意大寫和小寫不是相等的!
regionMatches() 這個String以及其他String的位置位移,以及要比較的地區長度。覆蓋加入了“忽略大小寫”的特性 一個布爾結果,指出要對比的地區是否相同
startsWith() 可能以它開頭的String。覆蓋在自變數裡加入了位移 一個布爾結果,指出String是否以那個自變數開頭
endsWith() 可能是這個String尾碼的一個String 一個布爾結果,指出自變數是不是一個尾碼
indexOf(),lastIndexOf() 已覆蓋:char,char和起始索引,String,String和起始索引 若自變數未在這個String裡找到,則返回-1;否則返回自變數開始處的位置索引。lastIndexOf()可從終點開始回溯搜尋
substring() 已覆蓋:起始索引,起始索引和結束索引 返回一個新的String對象,其中包含了指定的字元子集
concat() 想連結的String 返回一個新String對象,其中包含了原始String的字元,並在後面加上由自變數提供的字元
relpace() 要尋找的老字元,要用它替換的新字元 返回一個新String對象,其中已完成了替換工作。若沒有找到相符的搜尋項,就沿用老字串
toLowerCase(),toUpperCase() 無 返回一個新String對象,其中所有字元的大小寫形式都進行了統一。若不必修改,則沿用老字串
trim() 無 返回一個新的String對象,頭尾空白均已刪除。若毋需改動,則沿用老字串
valueOf() 已覆蓋:object,char[],char[]和位移以及計數,boolean,char,int,long,float,double 返回一個String,其中包含自變數的一個字元表現形式
Intern() 無 為每個獨一無二的字元順序都產生一個(而且只有一個)String控制代碼

可以看到,一旦有必要改變原來的內容,每個String方法都小心地返回了一個新的String對象。另外要注意的一個問題是,若內容不需要改變,則方法只返回指向原來那個String的一個控制代碼。這樣做可以節省儲存空間和系統開銷。
下面列出有關StringBuffer(字串緩衝)類的方法:

方法 自變數,覆蓋 用途

構建器 已覆蓋:預設,要建立的緩衝區長度,要根據它建立的String 建立一個StringBuffer對象
toString() 無 根據這個StringBuffer建立一個String
length() 無 StringBuffer中的字元數量
capacity() 無 返回目前分配的空間大小
ensureCapacity() 用於表示希望容量的一個整數 使StringBuffer容納至少希望的空間大小
setLength() 用於指示緩衝區內字串新長度的一個整數 縮短或擴充前一個字串。如果是擴充,則用null值填充空隙
charAt() 表示目標元素所在位置的一個整數 返回位於緩衝區指定位置處的char
setCharAt() 代表目標元素位置的一個整數以及元素的一個新char值 修改指定位置處的值
getChars() 複製的起點和終點,要在其中複製的數組以及目標數組的一個索引 將char複製到一個外部數組。和String不同,這裡沒有getBytes()可供使用
append() 已覆蓋:Object,String,char[],特定位移和長度的char[],boolean,char,int,long,float,double 將自變數轉換成一個字串,並將其追加到當前緩衝區的末尾。若有必要,同時增大緩衝區的長度
insert() 已覆蓋,第一個自變數代表開始插入的位置:Object,String,char[],boolean,char,int,long,float,double 第二個自變數轉換成一個字串,並插入當前緩衝區。插入位置在位移地區的起點處。若有必要,同時會增大緩衝區的長度
reverse() 無 反轉緩衝內的字元順序

最常用的一個方法是append()。在計算包含了+和+=運算子的String運算式時,編譯器便會用到這個方法。insert()方法採用類似的形式。這兩個方法都能對緩衝區進行重要的操作,不需要另建新對象。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.