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ér | Popis |
---|---|
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 typ | Metóda | Popis |
---|---|---|
verejný synchronizovaný StringBuffer | pripojiť (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ý StringBuffer | insert(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ý StringBuffer | nahradiť(int startIndex, int endIndex, String str) | Používa sa na nahradenie reťazca zo zadaného startIndex a endIndex. |
verejný synchronizovaný StringBuffer | delete(int startIndex, int endIndex) | Používa sa na odstránenie reťazca zo zadaného startIndex a endIndex. |
verejný synchronizovaný StringBuffer | obrátiť () | slúži na obrátenie struny. |
verejný int | kapacita() | Používa sa na vrátenie aktuálnej kapacity. |
verejná prázdnota | secureCapacity (int minimumCapacity) | Slúži na zabezpečenie kapacity aspoň rovnajúcej sa danému minimu. |
verejný char | charAt(int index) | Používa sa na vrátenie znaku na zadanú pozíciu. |
verejný int | dĺžka () | Používa sa na vrátenie dĺžky reťazca, t. j. celkového počtu znakov. |
verejný reťazec | podreťazec (int beginIndex) | Používa sa na vrátenie podreťazca zo zadaného beginIndex. |
verejný reťazec | podreť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