java常用類StringBuffer
阿新 • • 發佈:2020-12-16
技術標籤:java
java常用類StringBuffer
由於String作為不可修改的物件,我們如果對字串進行拼接操作,每次拼接都會構建一個新的String物件,即耗時又浪費空間,而StringBuffer這個類可以解決此問題。
StringBuffer又稱為字串緩衝區,即就是一個容器,容器中可以裝很多字串,能夠對字串進行新增、刪除、替換等功能且不會產生新的未使用物件。
StringBuffer構造方法
public StringBuffer(); 空參構造 構造一個其中不帶字元的字元緩衝區,初始容量為16個字元。 public StringBuffer(int capacity); 構造一個不帶字元,但具有指定初始容量的字元緩衝區。 public StringBuffer(String str); 構造一個字元緩衝區,並將其內容初始化為指定的字串內容。 StringBuffer中兩個統計長度方法: public int capacity(); 返回當前容量 理論值 public int length(); 返回長度 實際值
public class MyTest {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
StringBuffer sb1 = new StringBuffer(1000);
System.out.println(sb.capacity());
System.out.println(sb1.capacity());
StringBuffer sb2 = new StringBuffer("abc" );
System.out.println(sb2);
}
}
結果是
StringBuffer新增方法
StringBuffer新增功能:
public StringBuffer append(String str); 可以將任意型別資料新增到字串快取區,並返回字串緩衝區本身
public StringBuffer insert(int offset,String str); 在指定位置把任意型別的資料插入到字串緩衝區裡面,並返回字串緩衝區本身
public class MyTest {
public static void main(String[ ] args) {
StringBuffer sb = new StringBuffer();
sb.append("abc");
System.out.println(sb);
sb.insert(2,"def"); //字串的索引也和陣列一樣都是從左邊開始0開始
System.out.println(sb);
}
}
結果是
StringBuffer刪除方法
StringBuffer的刪除功能:
public StringBuffer deletChart(int index); 刪除指定位置的字元,並返回本身
public StringBuffer delet(int start,int end); 刪除從指定位置開始到指定位置結束的內容,並返回本身
public class MyTest {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("abcdefghijklmnopqrstuvwxyz");
sb.deleteCharAt(3);
System.out.println(sb);
sb.delete(3,25);
System.out.println(sb);
}
}
結果是
StringBuffer替換和反轉方法
StringBuffer替換和反轉功能:
public StringBuffer replace(int start,int end,String str); 從start開始到end結束用指定的字串來替換。
public StringBuffer reverse(); 字串反轉
public class MyTest {
public static void main(String[] args) {
String str="愛java,愛生活";
StringBuffer sb = new StringBuffer(str);
sb.replace(6,9,"愛未來");
System.out.println(sb);
sb.reverse();
System.out.println(sb);
}
}
結果是
StringBuffer和String相互轉換
String型別轉換StringBuffer型別
1.構造方法
2.通過append方法
3.通過insert方法
StringBuffer型別轉換成String型別
1.使用substring方法
2.構造方法
3.通過toString方法
public class MyTest {
public static void main(String[] args) {
String str = "abc";
//String------->StringBuffer
StringBuffer sb = new StringBuffer(str); //方式1
StringBuffer sb2 = new StringBuffer().append(str); //方式2
StringBuffer sb3 = new StringBuffer().insert(0, str); //方式3
//StringBuffer------>String
StringBuffer sb4 = new StringBuffer("hahaha");
String s = new String(sb4); //方式1
String s2 = sb4.substring(0); //方式2
String s3 = sb4.toString(); //方式3
}
}