1. 程式人生 > >Java基礎-----StringBuffer類概述

Java基礎-----StringBuffer類概述

概述

StringBuffer是一個可變的字元序列。

StringBuffer的構造方法:

1、public StringBuffer():無參構造方法。
2、public StringBuffer(int capacity):指定容量的字串緩衝區物件。
3、public StringBuffer(String str):指定字串內容的字串緩衝區物件。

StringBuffer的方法

1、public int capacity():返回當前容量。理論值。
2、public int length():返回長度(字元數)。實際值。

package StringBufferPackage;
public class Demo1_StringBuffer {
     public static void main(String[] args) {
          StringBuffer sb1 = new StringBuffer();
          System.out.println(sb1.length());//容器中的字元個數,實際值
          System.out.println(sb1.capacity());//容器的初始容量,理論值
          
          StringBuffer sb2 = new StringBuffer(10);
          System.out.println(sb2.length());
          System.out.println(sb2.capacity());
          
          StringBuffer sb3 = new StringBuffer("xiao");
          System.out.println(sb3.length());//實際字元的個數
          System.out.println(sb3.capacity());//字串的length + 初始容量
     }
}
StringBuffer的新增功能

1、public StringBuffer append(String str):可以把任意型別資料新增到字串緩衝區裡面,並返回字串區本身。
2、public StringBuffer insert(int offset,String str):在指定位置把任意型別的資料插入到字串緩衝區裡面,並返回字串緩衝區本身。

StringBuffer是字串緩衝區,當new的時候是在堆記憶體建立了一個物件,底層是一個長度為16的字元陣列,當呼叫新增的方法時,不會再重新建立物件,在不斷向原緩衝區新增字元。

package StringBufferPackage;
public class Demo2_Append {
     public static void main(String[] args) {
          //三個引用變數指向同一個物件
          StringBuffer str = new StringBuffer();
          StringBuffer str1 = str.append("asc");
          StringBuffer str2 = str.append("cdv");
          System.out.println(str);
          System.out.println(str1);
          System.out.println(str2);
          
          StringBuffer s = new StringBuffer("123");
          s.insert(2, "xiao");//在指定位置新增元素,如果沒有指定位置的索引就會報索引越界異常。
          System.out.println(s);
     }
}