StringBuffer類概述
1)我們如果對字符串進行拼接操作,每次拼接,都會構建一個新的String對象,既耗時,又浪費空間。而StringBuffer就可以解決這個問題
2)線程安全的可變字符序列
3)StringBuffer和String的區別
前者長度和內容可變,后者不可變。
· 如果使用前者做字符串的拼接,不會浪費太多的資源。
構造方法
· 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);
}
}
