Java StringBuffer osztály

A Java StringBuffer osztályt változó (módosítható) String objektumok létrehozására használják. A Java StringBuffer osztálya ugyanaz, mint a String osztály, kivéve, hogy változtatható, azaz megváltoztatható.

Megjegyzés: A Java StringBuffer osztály szálbiztos, azaz több szál nem férhet hozzá egyszerre. Tehát biztonságos és rendelést eredményez.

A StringBuffer osztály fontos konstruktőrei

Konstruktőr Leírás
StringBuffer() Létrehoz egy üres String puffert, amelynek kezdeti kapacitása 16.
StringBuffer(String str) Létrehoz egy String puffert a megadott karakterlánccal.
StringBuffer (belső kapacitás) Üres String puffert hoz létre a megadott hosszúságú kapacitással.

A StringBuffer osztály fontos módszerei

Módosító és típus Módszer Leírás
nyilvános szinkronizált StringBuffer hozzáfűzés (karakterláncok) A megadott karakterlánc hozzáfűzésére szolgál ezzel a karakterlánccal. Az append() metódus túlterhelt, például append(char), append(boolean), append(int), append(float), append(double) stb.
nyilvános szinkronizált StringBuffer beszúrás (int eltolás, karakterlánc s) A megadott karakterlánc beszúrására szolgál ezzel a karakterlánccal a megadott helyen. Az insert() metódus túlterhelt, mint az insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) stb.
nyilvános szinkronizált StringBuffer csere(int startIndex, in endIndex, String str) A megadott startIndex és endIndex karakterláncának helyettesítésére szolgál.
nyilvános szinkronizált StringBuffer törlés(int startIndex, in endindex) A megadott startIndex és endIndex karakterlánc törlésére szolgál.
nyilvános szinkronizált StringBuffer fordított() a karakterlánc megfordítására szolgál.
nyilvános int kapacitás() Az aktuális kapacitás visszaadására szolgál.
közüres biztosítsa Kapacitás (int minimumCapacity) Arra szolgál, hogy a kapacitást legalább az adott minimummal egyenlő legyen.
nyilvános char charAt(int index) A karakter visszaadására szolgál a megadott helyen.
nyilvános int hossz() A karakterlánc hosszának, azaz a karakterek teljes számának visszaadására szolgál.
nyilvános String részkarakterlánc(int beginIndex) A megadott beginIndex részkarakterláncának visszaadására szolgál.
nyilvános String részkarakterlánc(int beginIndex, in endindex) A megadott beginIndex és endIndex részkarakterlánc visszaadására szolgál.

Mi az a változtatható karakterlánc?

A módosítható vagy módosítható karakterláncot mutable karakterláncnak nevezzük. A StringBuffer és a StringBuilder osztályok változó karakterláncok létrehozására szolgálnak.

1) StringBuffer osztály append() metódus

Az append() metódus összefűzi az adott argumentumot ezzel a karakterlánccal.

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

Kimenet:

 Hello Java  

2) StringBuffer insert() metódus

Az insert() metódus beszúrja az adott karakterláncot ezzel a karakterlánccal az adott pozícióba.

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

Kimenet:

 HJavaello  

3) StringBuffer csere() metódus

A helyettesítő() metódus lecseréli az adott karakterláncot a megadott beginIndex és endIndex értékekből.

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

Kimenet:

 HJavalo  

4) StringBuffer delete() metódus

A StringBuffer osztály delete() metódusa törli a karakterláncot a megadott beginIndexből az endIndexbe.

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

Kimenet:

 Hlo  

5) StringBuffer reverse() metódus

A StringBuilder osztály reverse() metódusa megfordítja az aktuális Stringet.

StringBufferExample5.java

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

Kimenet:

 olleH  

6) StringBuffer kapacitás() módszer

A StringBuffer osztály kapacitás() metódusa a puffer aktuális kapacitását adja vissza. A puffer alapértelmezett kapacitása 16. Ha a karakterek száma a jelenlegi kapacitásához képest növekszik, akkor (oldcapacity*2)+2-vel növeli a kapacitást. Például, ha a jelenlegi kapacitása 16, akkor (16*2)+2=34 lesz.

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

Kimenet:

 16 16 34  

7) StringBuffer secureCapacity() metódus

A StringBuffer osztály biztosítékCapacity() metódusa biztosítja, hogy az adott kapacitás a minimális legyen az aktuális kapacitáshoz. Ha nagyobb, mint az aktuális kapacitás, akkor (régi kapacitás*2)+2-vel növeli a kapacitást. Például, ha a jelenlegi kapacitása 16, akkor (16*2)+2=34 lesz.

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

Kimenet:

 16 16 34 34 70