Տարբերություն String StringBuffer-ի և StringBuilder-ի միջև Java-ում

Բովանդակություն:

Տարբերություն String StringBuffer-ի և StringBuilder-ի միջև Java-ում
Տարբերություն String StringBuffer-ի և StringBuilder-ի միջև Java-ում

Video: Տարբերություն String StringBuffer-ի և StringBuilder-ի միջև Java-ում

Video: Տարբերություն String StringBuffer-ի և StringBuilder-ի միջև Java-ում
Video: Difference Between String StringBuffer and StringBuilder in Java by Deepak 2024, Հուլիսի
Anonim

Հիմնական տարբերություն – String ընդդեմ StringBuffer-ի vs StringBuilder Java-ում

String, StringBuffer և String Builder դասեր են Java-ում: String-ը լայնորեն կիրառվում է Java ծրագրավորման մեջ։ Երբ ստեղծվում է String-ի օբյեկտ, հնարավոր չէ դրանք փոխել: Ամեն անգամ, երբ String-ում փոփոխություն է տեղի ունենում, այն ստեղծում է նոր String: Նույնիսկ եթե դա միացված է գոյություն ունեցող տողի, այն ստեղծում է նոր տող: Սա հանգեցնում է հիշողության վատթարացման: String-ը փոփոխելու համար օգտագործվում են Java-ում StringBuffer և StringBuilder դասերը: String-ի, StringBuffer-ի և StringBuilder-ի միջև Java-ում հիմնական տարբերությունն այն է, որ String-ը դաս է String տիպի օբյեկտ ստեղծելու համար, որը նիշերի հաջորդականություն է, StringBuffer-ը դաս է, որն օգտագործվում է տողերը փոփոխելու համար, որն ապահովում է շղթայի անվտանգությունը, իսկ StringBuilder-ը դաս, որն օգտագործվում է տողերի փոփոխման համար, որոնք չեն ապահովում թելերի անվտանգությունը:

Ի՞նչ է String-ը Java-ում:

String դասը java.lang փաթեթում է: Ամեն անգամ, երբ ծրագրավորողը String է ստեղծում, այն String տիպի օբյեկտ է։ Տողերը անփոփոխ նշանակություն ունեն, երբ օբյեկտը ստեղծվի, այն չի կարող փոխվել: Այն օբյեկտները, որոնք ստեղծվել են փաթաթման դասերի միջոցով, ինչպիսիք են Integer, Byte, Float, Double, նույնպես անփոփոխ են: Տողային բառացի պարփակված է կրկնակի չակերտների մեջ: օր. "Բարեւ աշխարհ". Ամեն անգամ, երբ ստեղծվում է տող բառացի, Java վիրտուալ մեքենան (JVM) ստուգում է String հաստատուն լողավազանը: Եթե տողը գոյություն ունի, հղում է կատարվում String հաստատուն լողավազանի: Եթե դա նոր տող է, ապա այդ օբյեկտը ստեղծվում է String հաստատուն լողավազանում:

Java-ում String StringBuffer-ի և StringBuilder-ի միջև տարբերությունը
Java-ում String StringBuffer-ի և StringBuilder-ի միջև տարբերությունը
Java-ում String StringBuffer-ի և StringBuilder-ի միջև տարբերությունը
Java-ում String StringBuffer-ի և StringBuilder-ի միջև տարբերությունը

Նկար 01. Java ծրագիր՝ օգտագործելով String, StringBuffer և StringBuilder

Դիտեք ստորև բերված ծածկագիրը:

String s1=«Բարև»;

s1=s1 + «Աշխարհ»;

System.out.println(s1);

Առաջին հայտարարության մեջ s1-ը վերաբերում է «Բարև»-ին String հաստատուն լողավազանում: Երկրորդ հայտարարության մեջ JVM-ը չի փոխում գոյություն ունեցող String-ը: Փոխարենը, այն ստեղծում է նոր տող որպես «Բարև աշխարհ», և s1-ն այժմ վերաբերում է այդ նոր տողին: Դուրս եկող «Բարև» օբյեկտը դեռ գոյություն ունի String հաստատուն լողավազանում:

Եթե կա կոդ, որն է, String s1="Բարև";

Տող s2=s1;

s1, s2 երկուսն էլ վերաբերելու են String օբյեկտին «Բարև»:

Ի՞նչ է StringBuffer-ը Java-ում:

StringBuffer դասը օգտագործվում է String օբյեկտները փոփոխական դարձնելու համար: Հետևաբար, այդ օբյեկտները կարող են փոփոխվել: StringBuffer-ը սահմանում է չորս կոնստրուկտոր: StringBuffer(), StringBuffer(int չափ), StringBuffer(String str), StringBuffer (charSequence ch)

Տեսեք ստորև նշված կոդը, StringBuffer s1=նոր StringBuffer(«Բարև»);

s1.append(«Աշխարհ»);

System.out.println(s1);

1-ին հայտարարության մեջ s1-ը վերաբերում է «Բարև» օբյեկտին կույտով: Օբյեկտը փոփոխական է, քանի որ այն ստեղծվել է StringBuffer-ի միջոցով: Հայտարարություն 2-ում «World»-ը կցվում է նույն «Hello» String օբյեկտին:

StringBuffer դասի միջոցով ստեղծված տողային օբյեկտները կարող են խնայել հիշողությունը: StringBuffer-ն ապահովում է շղթայի անվտանգությունը, քանի որ երկու շղթաներ չեն կարող միաժամանակ մուտք գործել StringBuffer դասի նույն մեթոդը: Թեմաների անվտանգությունը նվազեցնում է StringBuffer-ի կատարումը: StringBuffer դասը պարունակում է այնպիսի մեթոդներ, ինչպիսիք են append(), insert(), reverse(), replace().

Ի՞նչ է StringBuilder-ը Java-ում:

StringBuilder դասը օգտագործվում է String օբյեկտները փոփոխական դարձնելու համար: Հետևաբար, այդ օբյեկտները կարող են փոփոխվել: Ֆունկցիոնալությունը նման է StringBuffer-ին, բայց դա չի ապահովում թելի անվտանգությունը:StringBuilder-ն ունի կոնստրուկտորներ, ինչպիսիք են StringBuilder(), StringBuilder(int size), StringBuilder(String str).

Դիտեք ստորև բերված կոդը:

StringBuilder s1=նոր StringBuilder («Բարև»);

s1.append(«Աշխարհ»);

System.out.println(s1);

1-ին հայտարարության մեջ s1-ը վերաբերում է «Բարև» օբյեկտին կույտով: Օբյեկտը փոփոխական է, քանի որ այն ստեղծվել է StringBuilder-ի միջոցով: Հայտարարություն 2-ում «World»-ը կցվում է նույն «Hello» String օբյեկտին: Ամբողջովին նոր String օբյեկտի ստեղծում չկա:

StringBuilder դասով ստեղծված տողային օբյեկտները կարող են խնայել հիշողությունը: Ի տարբերություն StringBuffer-ի, StringBuilder-ը չի ապահովում թելերի անվտանգությունը, քանի որ երկու թելեր կարող են միաժամանակ մուտք գործել նույն մեթոդ StringBuilder դասում: StringBuilder դասը պարունակում է այնպիսի մեթոդներ, ինչպիսիք են append(), insert(), reverse(), replace().

Ի՞նչ նմանություն կա String-ի, StringBuffer-ի և StringBuilder-ի միջև Java-ում:

Բոլորը կարող են օգտագործվել տողեր ստեղծելու համար:

Ո՞րն է տարբերությունը String StringBuffer-ի և StringBuilder-ի միջև Java-ում:

String vs StringBuffer vs StringBuilder

Տող Տողը Java դաս է, որն օգտագործվում է String տիպի օբյեկտ ստեղծելու համար, որը նիշերի հաջորդականություն է:
StringBuffer StringBuffer-ը Java-ի դաս է, որն օգտագործվում է String օբյեկտներ ստեղծելու համար, որոնք կարող են փոփոխվել շղթայի անվտանգությամբ:
StringBuilder StringBuilder-ը դաս է, որն օգտագործվում է լարային օբյեկտներ ստեղծելու համար, որոնք կարող են փոփոխվել առանց թելերի անվտանգության:
Փոփոխելիություն
Տող Տողը անփոփոխ դաս է։
StringBuffer StringBuffer-ը փոփոխվող դաս է:
StringBuilder StringBuilder-ը փոփոխվող դաս է:
Թելերի անվտանգություն
Տող Սթրինգի մեթոդները թելերով անվտանգ են:
StringBuffer StringBuffer-ի մեթոդները անվտանգ են և համաժամանակացված:
StringBuilder StringBuilder-ի մեթոդները անվտանգ և համաժամանակացված չեն:
Կատարում
Տող Տողը արագ է։
StringBuffer StringBuffer-ը դանդաղ է:
StringBuilder StringBuilder-ը արագ է:

Ամփոփում – String vs StringBuffer vs StringBuilder Java-ում

String-ը, StringBuffer-ը և StringBuilder-ը կարծես նույնն են, բայց դրանք տարբեր իմաստներ ունեն: Սրանք բոլորը Java դասեր են: Java-ում String-ի, StringBuffer-ի և StringBuilder-ի տարբերությունն այն է, որ String-ը դաս է String տիպի օբյեկտ ստեղծելու համար, որը նիշերի հավաքածու է, StringBuffer-ը դաս է, որն օգտագործվում է տողերը փոփոխելու և շղթայի անվտանգությունն ապահովելու համար, մինչդեռ StringBuilder-ը դաս, որն օգտագործվում է տողերի փոփոխման համար, որը չի ապահովում թելերի անվտանգությունը:

Ներբեռնեք PDF String vs StringBuffer vs StringBuilder Java-ում

Դուք կարող եք ներբեռնել այս հոդվածի PDF տարբերակը և օգտագործել այն անցանց նպատակներով՝ ըստ մեջբերումների: Խնդրում ենք ներբեռնել PDF տարբերակը այստեղ Java-ում String StringBuffer-ի և StringBuilder-ի միջև տարբերությունը

Խորհուրդ ենք տալիս: