Dallimi midis String StringBuffer dhe StringBuilder në Java

Përmbajtje:

Dallimi midis String StringBuffer dhe StringBuilder në Java
Dallimi midis String StringBuffer dhe StringBuilder në Java

Video: Dallimi midis String StringBuffer dhe StringBuilder në Java

Video: Dallimi midis String StringBuffer dhe StringBuilder në Java
Video: Utilising Trailer Brass & Trailer Strings 2024, Nëntor
Anonim

Dallimi kryesor – String vs StringBuffer vs StringBuilder në Java

String, StringBuffer dhe String Builder janë klasa në Java. String përdoret gjerësisht në programimin Java. Pasi të krijohet një objekt i String, nuk është e mundur të ndryshohet. Sa herë që ndodh një ndryshim në vargun, ai krijon një varg të ri. Edhe nëse është një lidhje me një varg ekzistues, ai krijon një varg të ri. Kjo shkakton humbje të kujtesës. Klasat StringBuffer dhe StringBuilder në Java përdoren për të modifikuar String. Dallimi kryesor midis String, StringBuffer dhe StringBuilder në Java është se String është një klasë për të krijuar një objekt të tipit String që është një sekuencë karakteresh, StringBuffer është një klasë që përdoret për të modifikuar Strings që siguron sigurinë e thread-it dhe StringBuilder është një klasë që përdoret për modifikimin e vargjeve që nuk ofrojnë siguri në fije.

Çfarë është String në Java?

Klasa e vargut është në paketën java.lang. Sa herë që programuesi krijon një varg, ai është një objekt i tipit String. Vargjet kanë kuptim të pandryshueshëm pasi të krijohet objekti, ai nuk mund të ndryshohet. Objektet e krijuara duke përdorur klasa mbështjellëse si Integer, Byte, Float, Double janë gjithashtu të pandryshueshme. Një varg literal është i mbyllur në thonjëza të dyfishta. p.sh. "Përshendetje Botë". Sa herë që krijohet një varg literal, Makina Virtuale Java (JVM) kontrollon grupin konstant të vargut. Nëse vargu ekziston, kthehet një referencë për grupin konstant të vargut. Nëse është një varg i ri, ai objekt krijohet në grupin konstant të vargut.

Dallimi midis String StringBuffer dhe StringBuilder në Java
Dallimi midis String StringBuffer dhe StringBuilder në Java
Dallimi midis String StringBuffer dhe StringBuilder në Java
Dallimi midis String StringBuffer dhe StringBuilder në Java

Figura 01: Program Java duke përdorur String, StringBuffer dhe StringBuilder

Referojuni kodit të mëposhtëm.

String s1="Përshëndetje";

s1=s1 + "Bota";

System.out.println(s1);

Në deklaratën e parë, s1 i referohet "Përshëndetje" në grupin konstant të vargut. Në deklaratën e dytë, JVM nuk e ndryshon vargun ekzistues. Në vend të kësaj, ai krijon një varg të ri si "Hello World" dhe s1 tani i referohet atij vargu të ri. Objekti në dalje "Përshëndetje" ekziston ende në grupin konstant të vargut.

Nëse ka një kod që është, String s1="Përshëndetje";

String s2=s1;

s1, s2 të dyja do t'i referohen objektit String "Përshëndetje".

Çfarë është StringBuffer në Java?

Klasa StringBuffer përdoret për t'i bërë objektet String të ndryshueshëm. Prandaj, këto objekte mund të modifikohen. StringBuffer përcakton katër konstruktorë. StringBuffer(), StringBuffer(madhësia int), StringBuffer(String str), StringBuffer (charSequence ch)

Referojuni kodit më poshtë, StringBuffer s1=StringBuffer i ri ("Përshëndetje");

s1.append("Bota");

System.out.println(s1);

Në deklaratën 1, s1 i referohet objektit "Përshëndetje" në një grumbull. Objekti është i ndryshueshëm sepse është krijuar duke përdorur StringBuffer. Në deklaratën 2, "World" i shtohet të njëjtit objekt vargu "Hello".

Objektet e vargut të krijuar me klasën StringBuffer mund të kursejnë kujtesën. StringBuffer siguron sigurinë e thread-it sepse dy threads nuk mund të kenë qasje në të njëjtën metodë në klasën StringBuffer njëkohësisht. Siguria e fijeve ul performancën e StringBuffer. Klasa StringBuffer përmban metoda të tilla si append(), insert(), reverse(), replace().

Çfarë është StringBuilder në Java?

Klasa StringBuilder përdoret për t'i bërë objektet String të ndryshueshëm. Prandaj, këto objekte mund të modifikohen. Funksionaliteti është i ngjashëm me StringBuffer, por kjo nuk siguron sigurinë e fijeve. StringBuilder ka konstruktorë të tillë si StringBuilder(), StringBuilder(madhësia int), StringBuilder(String str).

Referojuni kodit të mëposhtëm.

StringBuilder s1=StringBuilder i ri ("Përshëndetje");

s1.append("Bota");

System.out.println(s1);

Në deklaratën 1, s1 i referohet objektit "Përshëndetje" në një grumbull. Objekti është i ndryshueshëm sepse është krijuar duke përdorur StringBuilder. Në deklaratën 2, "World" i bashkëngjitet të njëjtit objekt String "Hello". Nuk ka asnjë krijim të objektit String krejtësisht të ri.

Objektet e vargut të krijuar me klasën StringBuilder mund të kursejnë kujtesën. Ndryshe nga StringBuffer, StringBuilder nuk ofron siguri thread sepse dy thread mund të kenë qasje në të njëjtën metodë në klasën StringBuilder njëkohësisht. Klasa StringBuilder përmban metoda të tilla si append(), insert(), reverse(), replace().

Cila është ngjashmëria midis String, StringBuffer dhe StringBuilder në Java?

Të gjitha mund të përdoren për të krijuar vargje

Cili është ndryshimi midis String StringBuffer dhe StringBuilder në Java?

String vs StringBuffer vs StringBuilder

String String është një klasë Java që përdoret për të krijuar një objekt të tipit String, i cili është një sekuencë karakteresh.
StringBuffer StringBuffer është një klasë Java që përdoret për të krijuar objekte String, të cilat mund të modifikohen me sigurinë e fijeve.
StringBuilder StringBuilder është një klasë që përdoret për të krijuar objekte vargu, të cilët mund të modifikohen pa sigurinë e fijeve.
Ndryshueshmëri
String Vargu është një klasë e pandryshueshme.
StringBuffer StringBuffer është një klasë e ndryshueshme.
StringBuilder StringBuilder është një klasë e ndryshueshme.
Siguria e fijeve
String Metodat e vargut janë të sigurta në fije.
StringBuffer Metodat e StringBuffer janë të sigurta dhe të sinkronizuara.
StringBuilder Metodat e StringBuilder nuk janë të sigurta dhe të pa sinkronizuara.
Performanca
String Vargu është i shpejtë.
StringBuffer StringBuffer është i ngad altë.
StringBuilder StringBuilder është i shpejtë.

Përmbledhje – String vs StringBuffer vs StringBuilder në Java

String, StringBuffer dhe StringBuilder duket se janë të njëjta, por ato kanë kuptime të ndryshme. Të gjitha këto janë klasa Java. Dallimi midis String, StringBuffer dhe StringBuilder në Java është se, String është klasë për të krijuar një objekt të tipit String, i cili është një grup karakteresh, StringBuffer është një klasë që përdoret për të modifikuar Strings dhe për të ofruar sigurinë e thread-it, ndërsa StringBuilder është një klasë që përdoret për të modifikuar vargjet që nuk ofrojnë siguri të fillit.

Shkarkoni vargun PDF vs StringBuffer vs StringBuilder në Java

Mund të shkarkoni versionin PDF të këtij artikulli dhe ta përdorni për qëllime jashtë linje sipas shënimit të citimit. Ju lutemi shkarkoni versionin PDF këtu Diferenca midis String StringBuffer dhe StringBuilder në Java

Recommended: