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) и т.н. |
публичен синхронизиран StringBuffer | replace(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