Klasa Java StringBuffer służy do tworzenia zmiennych (modyfikowalnych) obiektów String. Klasa StringBuffer w Javie jest taka sama jak klasa String, z tą różnicą, że jest zmienna, tj. Można ją zmienić.
Uwaga: Klasa Java StringBuffer jest bezpieczna dla wątków, co oznacza, że wiele wątków nie może uzyskać do niej jednoczesnego dostępu. Jest to więc bezpieczne i zakończy się zamówieniem.
Ważne konstruktory klasy StringBuffer
Konstruktor | Opis |
---|---|
StringBuffer() | Tworzy pusty bufor String o początkowej pojemności 16. |
StringBuffer(string string) | Tworzy bufor String z określonym ciągiem.. |
StringBuffer (pojemność całkowita) | Tworzy pusty bufor String o określonej pojemności jako długość. |
Ważne metody klasy StringBuffer
Modyfikator i typ | metoda | Opis |
---|---|---|
publiczny zsynchronizowany StringBuffer | dołącz (String s) | Służy do dołączenia określonego ciągu do tego ciągu. Metoda append() jest przeciążona, tak jak append(char), append(boolean), append(int), append(float), append(double) itp. |
publiczny zsynchronizowany StringBuffer | wstaw(int offset, String s) | Służy do wstawienia określonego ciągu z tym ciągiem w określonej pozycji. Metoda wstawki () jest przeciążona, tak jak wstawka (int, char), wstawka (int, boolean), wstawka (int, int), wstawka (int, float), wstawka (int, double) itp. |
publiczny zsynchronizowany StringBuffer | zamień(int startIndex, int endIndex, String str) | Służy do zastąpienia ciągu znaków z określonego startIndex i endIndex. |
publiczny zsynchronizowany StringBuffer | usuń(int startIndex, int endIndex) | Służy do usuwania ciągu z określonego startIndex i endIndex. |
publiczny zsynchronizowany StringBuffer | odwracać() | służy do odwrócenia ciągu. |
publiczne wew | pojemność() | Służy do zwracania aktualnej pojemności. |
pustka publiczna | zapewnij pojemność (int minimalna pojemność) | Służy do zapewnienia wydajności co najmniej równej danemu minimum. |
znak publiczny | charAt(indeks int) | Służy do zwrócenia znaku na określonej pozycji. |
publiczne wew | długość() | Służy do zwracania długości ciągu, czyli całkowitej liczby znaków. |
ciąg publiczny | podciąg (int BeginIndex) | Służy do zwrócenia podciągu z określonego BeginIndex. |
ciąg publiczny | substring(int BeginIndex, int endIndex) | Służy do zwracania podciągu z określonego BeginIndex i endIndex. |
Co to jest zmienny ciąg?
Ciąg, który można modyfikować lub zmieniać, nazywany jest ciągiem zmiennym. Klasy StringBuffer i StringBuilder służą do tworzenia modyfikowalnych ciągów znaków.
1) Metoda append() klasy StringBuffer
Metoda append() łączy podany argument z tym ciągiem.
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 } }
Wyjście:
Hello Java
2) Metoda wstawiania StringBuffer().
Metoda wstaw() wstawia podany ciąg znaków z tym ciągiem znaków w podanej pozycji.
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 } }
Wyjście:
HJavaello
3) Metoda StringBuffer zamiany().
Metoda zamiany() zastępuje podany ciąg znaków z określonych wartości 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 } }
Wyjście:
HJavalo
4) Metoda usuwania StringBuffer().
Metoda usuwania() klasy StringBuffer usuwa ciąg z określonego 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 } }
Wyjście:
Hlo
5) Metoda Reverse() StringBuffer
Metoda Reverse() klasy StringBuilder odwraca bieżący String.
StringBufferExample5.java
class StringBufferExample5{ public static void main(String args[]){ StringBuffer sb=new StringBuffer('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } }
Wyjście:
olleH
6) Metoda StringBuffer pojemność().
Metoda pojemność() klasy StringBuffer zwraca bieżącą pojemność bufora. Domyślna pojemność bufora wynosi 16. Jeśli liczba znaków wzrośnie w stosunku do aktualnej pojemności, zwiększy się pojemność o (oldcapacity*2)+2. Na przykład, jeśli twoja aktualna pojemność wynosi 16, będzie 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 } }
Wyjście:
16 16 34
7) Metoda StringBuffer zapewnieniaCapacity().
Metoda zapewnieniaCapacity() klasy StringBuffer zapewnia, że podana pojemność jest minimalna w stosunku do bieżącej pojemności. Jeśli jest większa niż aktualna pojemność, zwiększa pojemność o (stara pojemność*2)+2. Na przykład, jeśli twoja aktualna pojemność wynosi 16, będzie 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 } }
Wyjście:
16 16 34 34 70