掌握目標:
1,掌握stringbuffer與string的區別。
2,掌握stringbuffer常用方法。
3,掌握stringbuffer實際應用。
stringbuffer是使用緩衝區的,本身也是操作字串的,但是與string類不同,string類的內容一旦宣告則不可改變,改變的只是位址指向。而stringbuffer是可以改變的。
對於stringbuffer而言,本身是乙個具體的操作類,所以不能像string類那樣直接賦值的方式進行物件例項化,必須通過構造方法完成。
};結果:
hello world!!!
數字 = 1
字元 = c
布林 = true
繼續驗證stringbuffer內容是可以修改的,通過引用傳遞的方式完成。
package允許結果:thread1;
public
class
demo1
public
static
void fun(stringbuffer s)
};
hello mldn lixinghua從以上**證明stringbuffer是可以改變的。
可以直接使用insert()方法新增內容: public stringbuffer insert(int offset,boolean b);
package執行結果:thread1;
public
class
demo1
};
hello world!!hello world!!mldn~在stringbuffer中與stirng類非處相似的是,都可以使用length()方法求出字串長度。
直接使用reverse()方法可以完成反轉功能,public stringbuffer reverse()。
public執行結果:class
stringbufferdemo04
};
!!dlrow olleh對於上文紅色部分,有兩種方式:
一:講內容反轉後,轉換成string型別,賦值給string型別的字串。
string str = buf.reverse().tostring() ;
二,講內容反轉後,賦值給stringbuffer型別的物件。
stringbuffer str = buf.reverse() ;
在stringbuffer中也存在replace()方法,也可以使用此方法對指定內容替換。
public stringbuffer replace(int start,int end,string str);
public執行結果:class
stringbufferdemo05
};
內容替換之後的結果:hello lixinghua!!通過substring()直接從stringbuffer 中指定範圍內擷取內容。public stringsubstring(int start,int end)
package執行結果:thread1;
public
class
demo1
};
內容替換之後的結果:lixinghua因為stringbuffer的內容是可以修改的,所以可以用delet()刪除指定範圍內容:public string delete(int start,int end)
package執行結果:thread1;
public
class
demo1
};
刪除之後的結果:hello !!在string中,可以使用indexof()方法進行查詢,在stringbuffer中可以繼續使用這個方法。此方法如果找到了,返回位置,否則返回-1。
public執行結果:class
stringbufferdemo08else}};
可以查詢到指定的內容,位置在第6以上的方法對於string類也是存在的,使用的時候可以根據doc文件檢視即可。
觀察以下**,咱們之前已經在string中介紹過了。
public以上操作方法因為頻繁修改字串的內容,所以使用string是不合理的,最好的做法是使用stringbuffer。class
stringbufferdemo09
system.out.println(str1) ;}};
public對於stringbuffer而言,在頻繁修改字串的時候,效能更高。class
stringbufferdemo10
system.out.println(buf) ;}};
凡是要頻繁修改字串內容的時候,都要使用stringbuffer完成,而且stringbuffer也提供了一些string類沒有的方法,比如delete(),insert()。
Java中的常用類 StringBuffer
stringbuffer類概述執行緒安全的可變字串行。乙個類似於 string 的字串緩衝區,但不能修改。雖然在任意時間點上它都包含某種特定的字串行,但通過某些方法呼叫可以改變該序列的長度和內容。從 jdk 5 開始,為該類補充了乙個 單個執行緒使用的等價類 即 stringbuilde r。與該類...
核心類庫 常用類庫
math類 math.abs 傳入引數的絕對值 math.max min 比較傳入的多個引數的最大 最小值 math.random 初始值是隨機生成0 1之間的double型別的正值 math.round 對傳入的float double值四捨五入 math.floor 返回值小於或等於傳入的數字的...
常用類庫 System類
system類包含幾個有用的類字段和方法。它無法例項化。system類提供的設施包括標準輸入,標準輸出和錯誤輸出流 訪問外部定義的屬性和環境變數 載入檔案和庫的方法 以及用於快速複製陣列的一部分的實用方法。system.out.println system.out.print scanner sc ...