Ո՞րն է ավելի լավ StringBuffer-ը կամ StringBuilder-ը:
Ո՞րն է ավելի լավ StringBuffer-ը կամ StringBuilder-ը:

Video: Ո՞րն է ավելի լավ StringBuffer-ը կամ StringBuilder-ը:

Video: Ո՞րն է ավելի լավ StringBuffer-ը կամ StringBuilder-ը:
Video: McDonald's vs Հայկական ֆասթ ֆուդ. ո՞րն է ավելի լավը։ / Ամերիկայի հակառակ կողմը 2024, Դեկտեմբեր
Anonim

Տողը անփոփոխ է, մինչդեռ StringBuffer և StringBuider-ը փոփոխվող դասեր են: StringBuffer շարանը անվտանգ է և համաժամանակացված, մինչդեռ StringBuilder չէ, դրա համար էլ StringBuilder ավելի արագ է, քան StringBuffer . String concat + օպերատորը ներքին օգտագործում է StringBuffer կամ StringBuilder դաս.

Համապատասխանաբար, ո՞րն է ավելի լավ StringBuffer-ը կամ StringBuilder-ը:

Որպես արդյունք, StringBuilder ավելի արագ է, քան StringBuffer . StringBuffer փոփոխական է. Այն կարող է փոխվել երկարության և բովանդակության առումով: StringBuffers անվտանգ են թելի համար, ինչը նշանակում է, որ նրանք ունեն սինխրոնիզացված մեթոդներ՝ վերահսկելու մուտքն այնպես, որ միայն մեկ շարանը կարող է մուտք գործել ա StringBuffer օբյեկտի համաժամեցված կոդը միաժամանակ:

Նմանապես, ինչու՞ է StringBuffer-ն ավելի դանդաղ, քան StringBuilder-ը: միջոցով ստեղծված օբյեկտը StringBuffer պահվում է կույտում։ StringBuffer ունի նույն մեթոդները, ինչ որ StringBuilder , բայց յուրաքանչյուր մեթոդ գործում է StringBuffer սինխրոնացված է, այսինքն StringBuffer թելը անվտանգ է: Այսպիսով StringBuilder ավելի արագ է քան որ StringBuffer յուրաքանչյուր դասի նույն մեթոդները կանչելիս:

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

StringBuilder . StringBuilder նույնն է, ինչ StringBuffer , այսինքն այն պահում է օբյեկտը կույտով և այն կարող է նաև փոփոխվել: Գլխավոր հիմնական միջև տարբերությունը որ StringBuffer և StringBuilder դա է StringBuilder թելը անվտանգ չէ: StringBuilder արագ է, քանի որ այն անվտանգ չէ թելերից:

Ե՞րբ պետք է օգտագործեմ StringBuffer-ը:

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

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