logo

Klasa Java StringBuffer

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

KonstruktorOpis
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 typmetodaOpis
publiczny zsynchronizowany StringBufferdołą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 StringBufferwstaw(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 StringBufferzamień(int startIndex, int endIndex, String str)Służy do zastąpienia ciągu znaków z określonego startIndex i endIndex.
publiczny zsynchronizowany StringBufferusuń(int startIndex, int endIndex)Służy do usuwania ciągu z określonego startIndex i endIndex.
publiczny zsynchronizowany StringBufferodwracać()służy do odwrócenia ciągu.
publiczne wewpojemność()Służy do zwracania aktualnej pojemności.
pustka publicznazapewnij pojemność (int minimalna pojemność)Służy do zapewnienia wydajności co najmniej równej danemu minimum.
znak publicznycharAt(indeks int)Służy do zwrócenia znaku na określonej pozycji.
publiczne wewdługość()Służy do zwracania długości ciągu, czyli całkowitej liczby znaków.
ciąg publicznypodciąg (int BeginIndex)Służy do zwrócenia podciągu z określonego BeginIndex.
ciąg publicznysubstring(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