Verskil tussen String StringBuffer en StringBuilder in Java

INHOUDSOPGAWE:

Verskil tussen String StringBuffer en StringBuilder in Java
Verskil tussen String StringBuffer en StringBuilder in Java

Video: Verskil tussen String StringBuffer en StringBuilder in Java

Video: Verskil tussen String StringBuffer en StringBuilder in Java
Video: Difference Between String StringBuffer and StringBuilder in Java by Deepak 2024, November
Anonim

Sleutelverskil – String vs StringBuffer vs StringBuilder in Java

String, StringBuffer en String Builder is klasse in Java. String word wyd gebruik in Java-programmering. Sodra 'n voorwerp van String geskep is, is dit nie moontlik om dit te verander nie. Elke keer as 'n verandering aan die string plaasvind, skep dit 'n nuwe string. Selfs al is dit 'n aaneenskakeling met 'n bestaande string, skep dit 'n nuwe string. Dit veroorsaak geheuevermorsing. StringBuffer- en StringBuilder-klasse in Java word gebruik om String te verander. Die belangrikste verskil tussen String, StringBuffer en StringBuilder in Java is dat String 'n klas is om 'n objek van tipe String te skep wat 'n reeks karakters is, StringBuffer is 'n klas wat gebruik word om Strings te verander wat draadveiligheid bied, en StringBuilder is 'n klas wat gebruik word om snare te verander wat nie draadveiligheid bied nie.

Wat is String in Java?

String-klas is in java.lang-pakket. Elke keer as die programmeerder 'n String skep, is dit 'n objek van die tipe String. Strings is onveranderlike betekenis sodra die voorwerp geskep is, kan dit nie verander word nie. Voorwerpe wat geskep is deur gebruik te maak van omhulklasse soos Integer, Byte, Float, Double is ook onveranderlik. 'n String letterlik word in dubbele aanhalingstekens ingesluit. bv. "Hello Wêreld". Elke keer as 'n string letterlik geskep word, kontroleer die Java Virtual Machine (JVM) die String konstante poel. As die String bestaan, word 'n verwysing na die String konstante poel teruggestuur. As dit 'n nuwe String is, word daardie voorwerp in die String konstante poel geskep.

Verskil tussen String StringBuffer en StringBuilder in Java
Verskil tussen String StringBuffer en StringBuilder in Java
Verskil tussen String StringBuffer en StringBuilder in Java
Verskil tussen String StringBuffer en StringBuilder in Java

Figuur 01: Java-program wat String, StringBuffer en StringBuilder gebruik

Verwys die onderstaande stukkie kode.

String s1=“Hallo”;

s1=s1 + “Wêreld”;

System.out.println(s1);

In die eerste stelling verwys s1 na die "Hallo" in die String konstante poel. In die tweede stelling verander JVM nie die bestaande String nie. In plaas daarvan skep dit 'n nuwe string as "Hello World" en s1 verwys nou na daardie nuwe string. Die uittredende "Hallo" voorwerp bestaan steeds in die String konstante poel.

As daar 'n kode is wat is, String s1="Hallo";

String s2=s1;

s1, s2 sal albei verwys na die String-voorwerp "Hallo".

Wat is StringBuffer in Java?

StringBuffer-klas word gebruik om String-objekte veranderbaar te maak. Daarom kan daardie voorwerpe gewysig word. StringBuffer definieer vier konstruktors. StringBuffer(), StringBuffer(int size), StringBuffer(String str), StringBuffer (charSequence ch)

Verwys die kode hieronder, StringBuffer s1=nuwe StringBuffer(“Hallo”);

s1.append(“Wêreld”);

System.out.println(s1);

In stelling 1 verwys s1 na die "Hallo"-voorwerp in 'n hoop. Die voorwerp is veranderbaar omdat dit met StringBuffer geskep is. In stelling 2 word "Wêreld" aan dieselfde "Hallo"-stringvoorwerp aangeheg.

Stringobjekte wat met StringBuffer-klas geskep is, kan geheue bespaar. StringBuffer bied draadveiligheid omdat twee drade nie gelyktydig toegang tot dieselfde metode in die StringBuffer-klas kan kry nie. Draadveiligheid verlaag StringBuffer-werkverrigting. StringBuffer-klas bevat metodes soos append(), insert(), reverse(), replace().

Wat is StringBuilder in Java?

StringBuilder-klas word gebruik om String-objekte veranderbaar te maak. Daarom kan daardie voorwerpe gewysig word. Die funksionaliteit is soortgelyk aan StringBuffer, maar dit bied nie draadveiligheid nie. StringBuilder het konstruktors soos StringBuilder(), StringBuilder(int size), StringBuilder(String str).

Verwys die onderstaande kode.

StringBuilder s1=nuwe StringBuilder(“Hallo”);

s1.append(“Wêreld”);

System.out.println(s1);

In stelling 1 verwys s1 na die "Hallo"-voorwerp in 'n hoop. Die voorwerp is veranderbaar omdat dit met StringBuilder geskep is. In stelling 2 word "Wêreld" aan dieselfde "Hallo" String-voorwerp aangeheg. Daar is geen skepping van 'n heeltemal nuwe String-voorwerp nie.

String-objekte wat met StringBuilder-klas geskep is, kan geheue bespaar. Anders as in StringBuffer, bied StringBuilder nie draadveiligheid nie omdat twee drade gelyktydig toegang tot dieselfde metode in die StringBuilder-klas kan kry. StringBuilder-klas bevat metodes soos append(), insert(), reverse(), replace().

Wat is die ooreenkoms tussen String, StringBuffer en StringBuilder in Java?

Alle kan gebruik word om snare te skep

Wat is die verskil tussen String StringBuffer en StringBuilder in Java?

String vs StringBuffer vs StringBuilder

String Die string is 'n Java-klas wat gebruik word om 'n voorwerp van die tipe String te skep, wat 'n reeks karakters is.
StringBuffer StringBuffer is 'n Java-klas wat gebruik word om String-objekte te skep, wat met draadveiligheid gewysig kan word.
StringBuilder StringBuilder is 'n klas wat gebruik word om string-objekte te skep, wat sonder draadveiligheid gewysig kan word.
Veranderbaarheid
String Die string is 'n onveranderlike klas.
StringBuffer StringBuffer is 'n veranderlike klas.
StringBuilder StringBuilder is 'n veranderlike klas.
Draadveiligheid
String Metodes of String is draad veilig.
StringBuffer Metodes of StringBuffer is draadveilig en gesinchroniseer.
StringBuilder Metodes van StringBuilder is nie veilig met schroefdraad nie en nie gesinchroniseer nie.
Performance
String Die snaar is vinnig.
StringBuffer StringBuffer is stadig.
StringBuilder StringBuilder is vinnig.

Opsomming – String vs StringBuffer vs StringBuilder in Java

String, StringBuffer en StringBuilder blyk dieselfde te wees, maar hulle het verskillende betekenisse. Al hierdie is Java-klasse. Die verskil tussen String, StringBuffer en StringBuilder in Java is dat String klas is om 'n objek van tipe String te skep, wat 'n stel karakters is, StringBuffer is 'n klas wat gebruik word om Strings te verander en draadveiligheid te verskaf, terwyl StringBuilder 'n klas wat gebruik word om snare te wysig wat nie draadveiligheid bied nie.

Laai die PDF String vs StringBuffer vs StringBuilder af in Java

Jy kan die PDF-weergawe van hierdie artikel aflaai en dit vir vanlyn doeleindes gebruik soos per aanhalingsnota. Laai asseblief PDF-weergawe hier af Verskil tussen String StringBuffer en StringBuilder in Java

Aanbeveel: