logo

Trieda Java StringBuffer

Trieda Java StringBuffer sa používa na vytváranie meniteľných (modifikovateľných) objektov String. Trieda StringBuffer v jazyku Java je rovnaká ako trieda String okrem toho, že je meniteľná, t. j. možno ju zmeniť.

Poznámka: Trieda Java StringBuffer je bezpečná pre vlákna, t. j. viaceré vlákna k nej nemôžu pristupovať súčasne. Takže je to bezpečné a výsledkom bude objednávka.

Dôležité konštruktory triedy StringBuffer

KonštruktérPopis
StringBuffer()Vytvára prázdnu vyrovnávaciu pamäť reťazca s počiatočnou kapacitou 16.
StringBuffer(String str)Vytvorí vyrovnávaciu pamäť reťazca so zadaným reťazcom..
StringBuffer (int kapacita)Vytvorí prázdnu vyrovnávaciu pamäť reťazca so zadanou kapacitou ako dĺžkou.

Dôležité metódy triedy StringBuffer

Modifikátor a typMetódaPopis
verejný synchronizovaný StringBufferpripojiť (reťazec s)Používa sa na pripojenie zadaného reťazca k tomuto reťazcu. Metóda append() je preťažená ako append(char), append(boolean), append(int), append(float), append(double) atď.
verejný synchronizovaný StringBufferinsert(int offset, String s)Používa sa na vloženie určeného reťazca s týmto reťazcom na určenú pozíciu. Metóda insert() je preťažená ako insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) atď.
verejný synchronizovaný StringBuffernahradiť(int startIndex, int endIndex, String str)Používa sa na nahradenie reťazca zo zadaného startIndex a endIndex.
verejný synchronizovaný StringBufferdelete(int startIndex, int endIndex)Používa sa na odstránenie reťazca zo zadaného startIndex a endIndex.
verejný synchronizovaný StringBufferobrátiť ()slúži na obrátenie struny.
verejný intkapacita()Používa sa na vrátenie aktuálnej kapacity.
verejná prázdnotasecureCapacity (int minimumCapacity)Slúži na zabezpečenie kapacity aspoň rovnajúcej sa danému minimu.
verejný charcharAt(int index)Používa sa na vrátenie znaku na zadanú pozíciu.
verejný intdĺžka ()Používa sa na vrátenie dĺžky reťazca, t. j. celkového počtu znakov.
verejný reťazecpodreťazec (int beginIndex)Používa sa na vrátenie podreťazca zo zadaného beginIndex.
verejný reťazecpodreťazec (int beginIndex, int endIndex)Používa sa na vrátenie podreťazca zo zadaného beginIndex a endIndex.

Čo je meniteľný reťazec?

Reťazec, ktorý je možné upraviť alebo zmeniť, je známy ako meniteľný reťazec. Triedy StringBuffer a StringBuilder sa používajú na vytváranie meniteľných reťazcov.

1) Metóda append() triedy StringBuffer

Metóda append() spája daný argument s týmto reťazcom.

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 } } 

Výkon:

 Hello Java 

2) Metóda StringBuffer insert().

Metóda insert() vloží daný reťazec s týmto reťazcom na danú pozíciu.

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 } } 

Výkon:

 HJavaello 

3) Metóda StringBuffer replacement().

Metóda replace() nahradí daný reťazec zo zadaného beginIndex a 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 } } 

Výkon:

 HJavalo 

4) Metóda StringBuffer delete().

Metóda delete() triedy StringBuffer vymaže reťazec zo zadaného beginIndex do 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 } } 

Výkon:

 Hlo 

5) Reverzná() metóda StringBuffer

Metóda reverse() triedy StringBuilder obráti aktuálny reťazec.

StringBufferExample5.java

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

Výkon:

 olleH 

6) Metóda StringBuffer capacity().

Metóda capacity() triedy StringBuffer vracia aktuálnu kapacitu vyrovnávacej pamäte. Predvolená kapacita vyrovnávacej pamäte je 16. Ak sa počet znakov zvýši z jej aktuálnej kapacity, zvýši sa kapacita o (stará kapacita*2)+2. Ak je napríklad vaša aktuálna kapacita 16, bude to (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 } } 

Výkon:

 16 16 34 

7) Metóda StringBuffer secureCapacity().

Metóda secureCapacity() triedy StringBuffer zabezpečuje, že daná kapacita je minimálna k aktuálnej kapacite. Ak je väčšia ako aktuálna kapacita, zvýši kapacitu o (stará kapacita*2)+2. Ak je napríklad vaša aktuálna kapacita 16, bude to (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 } } 

Výkon:

 16 16 34 34 70