描述:在實際應用中,經常回遇到對字符串進行動態修改。這時候,String類的功能受到限制,而StringBuffer類可以完成字符串的動態添加、插入和替換等操作。
1、構造函數。StringBuffer() :
構造一個沒有任何字符的StringBuffer類。
StringBuffer(int length) :
構造一個沒有任何字符的StringBuffer類且其長度為length。
StringBuffer(String str) :
以str為初始值構造一個StringBuffer類。
StringBuffer append(** b);
向字符串緩沖區”追加”元素,但是,這個”元素”參數可以是布爾量、字符、字符數組、雙精度數、浮點數、整型數、長整型數對象類型的字符串、字符串和StringBuffer類等。如果添加的字符超出了字符串緩沖區的長度,Java將自動進行擴充。
默認構造器是由系統自動分配容量,默認是16個字符。由於沒有賦值,所以緩沖對象的長度就是0.
StringBuffer sbf=new StringBuffer(100);
設定容量大小的構造器
部分方法介紹:
charAt()方法可以返回字符中的單個字符
setCharAt(0,’x’) 方法可以對字符中的單個字符進行替換
reverse() 方法可以倒置字符串內容。
int indexOf(String str) :返回當前StringBuffer對象中,第一個滿足str子串的位置。
int indexOf(String str, int fromIndex) :從當前StringBuffer對象的fromIndex開始查找,返回第一個滿足str子串的位置。
package cn.hncu.string;
public class StrBuffer {
public static void main(String[] args) {
String str = new String("Mylove");
System.out.println(str);
tm1(str);
System.out.println(str);
//String類型不是引用
System.out.println("-----------");
StringBuffer strBuffer = new StringBuffer();
strBuffer.append("Mylove");
System.out.println(strBuffer.toString());
tm2(strBuffer);
System.out.println(strBuffer.toString());
//引用
}
private static void tm2(StringBuffer strBuffer) {
strBuffer.replace(0, 0, "aaa");
}
private static void tm1(String str) {
str.replace('l', 'm');
}
}