logo

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őrLeí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ípusMódszerLeírás
nyilvános szinkronizált StringBufferhozzá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 StringBufferbeszú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 StringBuffercsere(int startIndex, in endIndex, String str)A megadott startIndex és endIndex karakterláncának helyettesítésére szolgál.
nyilvános szinkronizált StringBuffertörlés(int startIndex, in endindex)A megadott startIndex és endIndex karakterlánc törlésére szolgál.
nyilvános szinkronizált StringBufferfordított()a karakterlánc megfordítására szolgál.
nyilvános intkapacitás()Az aktuális kapacitás visszaadására szolgál.
közüresbiztosítsa Kapacitás (int minimumCapacity)Arra szolgál, hogy a kapacitást legalább az adott minimummal egyenlő legyen.
nyilvános charcharAt(int index)A karakter visszaadására szolgál a megadott helyen.
nyilvános inthossz()A karakterlánc hosszának, azaz a karakterek teljes számának visszaadására szolgál.
nyilvános Stringrészkarakterlánc(int beginIndex)A megadott beginIndex részkarakterláncának visszaadására szolgál.
nyilvános Stringré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