Kuris yra geresnis „StringBuffer“ar „StringBuilder“?
Kuris yra geresnis „StringBuffer“ar „StringBuilder“?

Video: Kuris yra geresnis „StringBuffer“ar „StringBuilder“?

Video: Kuris yra geresnis „StringBuffer“ar „StringBuilder“?
Video: Kuris bo gadgetas yra geresnis? Brawl Stars lietuviškai 2024, Gegužė
Anonim

Styga yra nekintanti, tuo tarpu StringBuffer ir StringBuider yra kintamos klasės. StringBuffer yra saugus siūlams ir sinchronizuotas, tuo tarpu StringBuilder nėra, štai kodėl StringBuilder yra greitesnis nei StringBuffer . String concat + operatorius naudoja viduje StringBuffer arba StringBuilder klasė.

Atitinkamai, kuris iš jų yra geresnis StringBuffer ar StringBuilder?

Kaip rezultatas, StringBuilder yra greitesnis nei StringBuffer . StringBuffer yra kintama. Jis gali keistis ilgio ir turinio atžvilgiu. StringBuffers yra saugūs gijai, o tai reiškia, kad jie turi sinchronizuotus prieigos valdymo metodus, kad tik vienas sriegis gali pasiekti a StringBuffer objekto sinchronizuotas kodas vienu metu.

Panašiai, kodėl StringBuffer yra lėtesnis nei StringBuilder? Objektas sukurtas per StringBuffer yra saugomas krūvoje. StringBuffer turi tuos pačius metodus kaip ir StringBuilder , bet kiekvienas metodas StringBuffer yra sinchronizuotas, tai yra StringBuffer yra saugus siūlams. Taigi StringBuilder yra greitesnis nei į StringBuffer iškviečiant tuos pačius kiekvienos klasės metodus.

Taigi, kuo skiriasi „StringBuffer“ir „StringBuilder“?

StringBuilder . StringBuilder yra toks pat kaip StringBuffer , tai yra jis saugo objektą krūvoje ir jį taip pat galima modifikuoti. Pagrindinis skirtumas tarp į StringBuffer ir StringBuilder ar tai StringBuilder nėra saugus siūlams. StringBuilder yra greitas, nes nėra saugus siūlams.

Kada turėčiau naudoti StringBuffer?

Jei objekto reikšmė gali pasikeisti ir bus pasiekiama tik iš vienos gijos, naudoti StringBuilder, nes StringBuilder yra nesinchronizuotas. Jei objekto reikšmė gali pasikeisti ir bus pakeista keliomis gijomis, naudoti a StringBuffer nes StringBuffer yra sinchronizuotas.

Rekomenduojamas: