logo

Клас Java StringBuffer

Клас Java StringBuffer використовується для створення змінних (модифікованих) об’єктів String. Клас StringBuffer у Java такий самий, як і клас String, за винятком того, що він змінний, тобто його можна змінювати.

Примітка. Клас Java StringBuffer є потоково-безпечним, тобто кілька потоків не можуть отримати доступ до нього одночасно. Тож це безпечно та призведе до замовлення.

Важливі конструктори класу StringBuffer

Конструкторопис
StringBuffer()Він створює порожній буфер String з початковою ємністю 16.
StringBuffer(String str)Він створює рядковий буфер із вказаним рядком.
StringBuffer (ємність int)Він створює порожній буфер String із заданою ємністю як довжина.

Важливі методи класу StringBuffer

Модифікатор і типметодопис
загальнодоступний синхронізований StringBufferдодати (рядок s)Він використовується для додавання зазначеного рядка до цього рядка. Метод append() перевантажений, як append(char), append(boolean), append(int), append(float), append(double) тощо.
загальнодоступний синхронізований StringBufferвставити (зміщення int, рядок s)Він використовується для вставки зазначеного рядка з цим рядком у вказану позицію. Метод insert() перевантажений, як insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) тощо.
загальнодоступний синхронізований StringBufferreplace(int startIndex, int endIndex, String str)Він використовується для заміни рядка з указаних startIndex і endIndex.
загальнодоступний синхронізований StringBufferdelete(int startIndex, int endIndex)Він використовується для видалення рядка з указаного startIndex і endIndex.
загальнодоступний синхронізований StringBufferзворотний()використовується для перевертання рядка.
публічний міжнмісткість()Використовується для повернення поточної потужності.
громадська порожнечаsecureCapacity(int minimumCapacity)Він використовується для забезпечення пропускної здатності, щонайменше дорівнює заданому мінімуму.
публічний характерcharAt (індекс індексу)Він використовується для повернення символу у вказану позицію.
публічний міжндовжина()Він використовується для повернення довжини рядка, тобто загальної кількості символів.
загальнодоступний рядокпідрядок (int beginIndex)Він використовується для повернення підрядка з указаного beginIndex.
загальнодоступний рядокпідрядок (int beginIndex, int endIndex)Він використовується для повернення підрядка з указаних beginIndex і endIndex.

Що таке змінний рядок?

Рядок, який можна модифікувати або змінити, називається змінним рядком. Класи StringBuffer і StringBuilder використовуються для створення змінних рядків.

1) Метод append() класу StringBuffer

Метод append() об’єднує заданий аргумент із цим рядком.

StringBufferExample.java

 class StringBufferExample{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello '); sb.append('Java');//now original string is changed System.out.println(sb);//prints Hello Java } } 

Вихід:

 Hello Java 

2) Метод StringBuffer insert().

Метод insert() вставляє заданий рядок із цим рядком у задану позицію.

StringBufferExample2.java

 class StringBufferExample2{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello '); sb.insert(1,'Java');//now original string is changed System.out.println(sb);//prints HJavaello } } 

Вихід:

 HJavaello 

3) Метод StringBuffer replace().

Метод replace() замінює заданий рядок із указаних beginIndex і endIndex.

StringBufferExample3.java

 class StringBufferExample3{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.replace(1,3,'Java'); System.out.println(sb);//prints HJavalo } } 

Вихід:

 HJavalo 

4) Метод StringBuffer delete().

Метод delete() класу StringBuffer видаляє рядок із зазначеного beginIndex до endIndex.

StringBufferExample4.java

 class StringBufferExample4{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.delete(1,3); System.out.println(sb);//prints Hlo } } 

Вихід:

 Hlo 

5) Метод StringBuffer reverse().

Метод reverse() класу StringBuilder змінює поточний рядок.

StringBufferExample5.java

 class StringBufferExample5{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } } 

Вихід:

 olleH 

6) Метод StringBuffer capacity().

Метод capacity() класу StringBuffer повертає поточну ємність буфера. За замовчуванням ємність буфера становить 16. Якщо кількість символів збільшується порівняно з поточною ємністю, вона збільшує ємність на (oldcapacity*2)+2. Наприклад, якщо ваша поточна ємність 16, це буде (16*2)+2=34.

StringBufferExample6.java

 class StringBufferExample6{ public static void main(String args[]){ StringBuffer sb=new StringBuffer(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 } } 

Вихід:

 16 16 34 

7) Метод StringBuffer secureCapacity().

Метод secureCapacity() класу StringBuffer гарантує, що задана ємність є мінімальною для поточної ємності. Якщо вона більша за поточну ємність, вона збільшує ємність на (стара ємність*2)+2. Наприклад, якщо ваша поточна ємність 16, це буде (16*2)+2=34.

StringBufferExample7.java

 class StringBufferExample7{ public static void main(String args[]){ StringBuffer sb=new StringBuffer(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 sb.ensureCapacity(10);//now no change System.out.println(sb.capacity());//now 34 sb.ensureCapacity(50);//now (34*2)+2 System.out.println(sb.capacity());//now 70 } } 

Вихід:

 16 16 34 34 70