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