logo

Java StringBuffer клас

Java StringBuffer клас се използва за създаване на променливи (променливи) String обекти. Класът StringBuffer в Java е същият като класа String, с изключение на това, че е променлив, т.е. може да се променя.

Забележка: Класът Java StringBuffer е безопасен за нишки, т.е. множество нишки не могат да имат достъп до него едновременно. Така че е безопасно и ще доведе до поръчка.

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

КонструкторОписание
StringBuffer()Създава празен низов буфер с първоначален капацитет 16.
StringBuffer(String str)Той създава String буфер с посочения низ..
StringBuffer(int капацитет)Създава празен низов буфер със зададения капацитет като дължина.

Важни методи на клас StringBuffer

Модификатор и типМетодОписание
публичен синхронизиран StringBufferдобавяне (низ s)Използва се за добавяне на посочения низ с този низ. Методът append() е претоварен като append(char), append(boolean), append(int), append(float), append(double) и т.н.
публичен синхронизиран StringBufferвмъкване (int offset, String 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.
публичен синхронизиран StringBufferизтриване (int startIndex, int endIndex)Използва се за изтриване на низ от посочения startIndex и endIndex.
публичен синхронизиран StringBufferобратен()се използва за обръщане на низа.
публичен инткапацитет()Използва се за връщане на текущия капацитет.
публична празнотаsecureCapacity(int minimumCapacity)Използва се за осигуряване на капацитет поне равен на зададения минимум.
публичен харcharAt(int индекс)Използва се за връщане на знака на посочената позиция.
публичен интдължина()Използва се за връщане на дължината на низа, т.е. общия брой знаци.
публичен низподниз (int beginIndex)Използва се за връщане на подниза от указания beginIndex.
публичен низподниз (int beginIndex, int endIndex)Използва се за връщане на подниза от посочения beginIndex и endIndex.

Какво е променлив низ?

Низ, който може да бъде модифициран или променен, е известен като променлив низ. Класовете StringBuffer и StringBuilder се използват за създаване на променливи низове.

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

Методът 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 капацитет().

Методът капацитет() на класа 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 гарантира, че даденият капацитет е минималният спрямо текущия капацитет. Ако е по-голям от текущия капацитет, той увеличава капацитета с (oldcapacity*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