Klasa Java StringBuffer koristi se za stvaranje promjenjivih (modificirajućih) String objekata. Klasa StringBuffer u Javi ista je kao klasa String osim što je promjenjiva, tj. može se mijenjati.
Napomena: klasa Java StringBuffer je sigurna za niti, tj. više niti joj ne može pristupiti istovremeno. Dakle, sigurno je i rezultirat će narudžbom.
Važni konstruktori klase StringBuffer
Konstruktor | Opis |
---|---|
StringBuffer() | Stvara prazan međuspremnik niza s početnim kapacitetom od 16. |
StringBuffer(String str) | Stvara međuspremnik niza s navedenim nizom.. |
StringBuffer(int kapacitet) | Stvara prazan međuspremnik niza sa specificiranim kapacitetom kao duljinom. |
Važne metode klase StringBuffer
Modifikator i vrsta | metoda | Opis |
---|---|---|
javni sinkronizirani StringBuffer | dodati (niz s) | Koristi se za dodavanje navedenog niza ovom nizu. Metoda append() je preopterećena kao append(char), append(boolean), append(int), append(float), append(double) itd. |
javni sinkronizirani StringBuffer | umetni (int offset, String s) | Koristi se za umetanje navedenog niza s ovim nizom na određenom mjestu. Metoda insert() je preopterećena kao insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) itd. |
javni sinkronizirani StringBuffer | zamijeni(int startIndex, int endIndex, String str) | Koristi se za zamjenu niza iz navedenog startIndex i endIndex. |
javni sinkronizirani StringBuffer | brisanje (int startIndex, int endIndex) | Koristi se za brisanje niza iz navedenog startIndex i endIndex. |
javni sinkronizirani StringBuffer | obrnuti () | koristi se za preokretanje niza. |
javni int | kapacitet() | Koristi se za vraćanje trenutnog kapaciteta. |
javna praznina | osiguraj kapacitet (int minimumCapacity) | Koristi se kako bi se osigurao kapacitet najmanje jednak zadanom minimumu. |
javni čar | charAt(int indeks) | Koristi se za vraćanje znaka na navedeno mjesto. |
javni int | duljina () | Koristi se za vraćanje duljine niza, tj. ukupnog broja znakova. |
javni niz | podniz (int početni indeks) | Koristi se za vraćanje podniza iz navedenog beginIndexa. |
javni niz | podniz (int beginIndex, int endIndex) | Koristi se za vraćanje podniza iz navedenog beginIndex i endIndex. |
Što je promjenjivi niz?
Niz koji se može modificirati ili mijenjati poznat je kao promjenjivi niz. Klase StringBuffer i StringBuilder koriste se za stvaranje promjenjivih nizova.
1) Metoda append() klase StringBuffer
Metoda append() spaja dani argument s ovim nizom.
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 } }
Izlaz:
Hello Java
2) StringBuffer insert() metoda
Metoda insert() umeće zadani niz s ovim nizom na zadanu poziciju.
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 } }
Izlaz:
HJavaello
3) StringBuffer replace() metoda
Metoda replace() zamjenjuje dani String iz navedenog beginIndex i 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 } }
Izlaz:
HJavalo
4) Metoda StringBuffer delete().
Metoda delete() klase StringBuffer briše niz od navedenog 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 } }
Izlaz:
Hlo
5) Metoda StringBuffer reverse().
Metoda reverse() klase StringBuilder preokreće trenutni niz.
StringBufferExample5.java
class StringBufferExample5{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } }
Izlaz:
olleH
6) Metoda kapaciteta StringBuffer()
Metoda kapaciteta() klase StringBuffer vraća trenutni kapacitet međuspremnika. Zadani kapacitet međuspremnika je 16. Ako se broj znakova poveća u odnosu na trenutni kapacitet, povećava se kapacitet za (stari kapacitet*2)+2. Na primjer, ako je vaš trenutni kapacitet 16, bit će (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 } }
Izlaz:
16 16 34
7) Metoda StringBuffer secureCapacity().
Metoda secureCapacity() klase StringBuffer osigurava da je dani kapacitet minimalni u odnosu na trenutni kapacitet. Ako je veći od trenutnog kapaciteta, povećava kapacitet za (stari kapacitet*2)+2. Na primjer, ako je vaš trenutni kapacitet 16, bit će (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 } }
Izlaz:
16 16 34 34 70