1)咱們若是對字符串進行拼接操做,每次拼接,都會構建一個新的String對象,既耗時,又浪費空間。而StringBuffer就能夠解決這個問題
2)線程安全的可變字符序列
3)StringBuffer和String的區別
前者長度和內容可變,後者不可變。
· 若是使用前者作字符串的拼接,不會浪費太多的資源。java
· public StringBuffer() :無參構造方法
· public StringBuffer(int capacity) :指定容量的字符串緩衝區對象
· public StringBuffer(String str) :指定字符串內容的字符串緩衝區對象
StringBuffer的方法:
public int capacity():返回當前容量,理論值
public int length():返回長度(字符數) ,實際值安全
package com.stringbuffer; public class TestStringBufffer { public static void main(String[] args) { //StringBuffer構造方法1 StringBuffer sb1=new StringBuffer("Hello"); System.out.println(sb1); String s1="World"; //StringBuffer構造方法2 StringBuffer sb2=new StringBuffer(s1); System.out.println(sb2); //length()返回字符串的長度 System.out.println(sb2.length()); //toString()這個方法重寫了Object中的toString()方法,返回String類型的字符串 //輸出StringBuffer對象時候,會默認調用此方法 System.out.println(sb2); //append(String s)方法在原有的字符串後面添加字符串,返回的是添加後的StringBuffer對象 sb1.append(" World"); System.out.println(sb1); //public StringBuffer deleteCharAt(int index) //該方法的做用是刪除指定位置的字符,而後將剩餘的內容造成新的字符串 sb1.deleteCharAt(0); System.out.println(sb1);//ello World //public StringBuffer delete(int start,int end) //從字符緩衝區中從start索引刪除到end索引所對應的字符,其中包括start索引不包括end索引對應的值 sb1.delete(1, 3); System.out.println(sb1); //public StringBuffer insert(int offset,String str) //在字符串緩衝區的第offset個字符後面插入指定字符串 sb1.insert(1, "ME"); System.out.println(sb1); //public StringBuffer reverse(),將字符串反轉 sb1.reverse(); System.out.println(sb1); } }