Is StringBuilder vinniger as string aaneenskakeling?
Is StringBuilder vinniger as string aaneenskakeling?

Video: Is StringBuilder vinniger as string aaneenskakeling?

Video: Is StringBuilder vinniger as string aaneenskakeling?
Video: What is String Immutable || Why String Object Is Immutable In Java (Hindi) 2024, Maart
Anonim

1) Die Snaar objek is onveranderlik in Java, maar StringBuffer en StringBuilder is veranderlike voorwerpe. 2) StringBuffer word gesinchroniseer terwyl StringBuilder is nie wat maak nie StringBuilder vinniger as StringBuffer. 3) Aaneenskakeling operateur "+" word intern geïmplementeer deur StringBuffer of StringBuilder.

Net so kan 'n mens vra, is stringformaat vinniger as aaneenskakeling?

Die hoofrede is dit Snaar . formaat () kan makliker gelokaliseer word met teks wat vanaf hulpbronlêers gelaai word, terwyl aaneenskakeling kan nie gelokaliseer word sonder om 'n nuwe uitvoerbare lêer met verskillende kode vir elke taal te produseer nie. Die tydsberekening resultate is soos volg: Aaneenskakeling = 265 millisekonde.

Daarbenewens, wanneer moet jy nie StringBuilder gebruik nie? Dus gebruik StringBuilder wanneer jy moet doen baie wysigings op die tou. Nie regtig jy moet StringBuilder gebruik as jy groot stringe aaneenskakel of jy het baie aaneenskakelings, soos in 'n lus. Ek oor die algemeen gebruik snaarbouer vir enige blok kode wat sal lei tot die samevoeging van drie of meer stringe.

Net so, wat is die vinnigste string of StringBuilder?

Voorwerpe van Snaar is onveranderlik, en voorwerpe van StringBuffer en StringBuilder veranderbaar is. StringBuffer en StringBuilder is soortgelyk, maar StringBuilder is vinniger en verkies bo StringBuffer vir enkeldraadprogram. As draadveiligheid nodig is, word StringBuffer gebruik.

Wanneer sal 'n programmeerder string vs StringBuilder gebruik?

Wanneer om gebruik watter een: As a string gaan dan konstant deur die program bly gebruik String klasvoorwerp omdat a Snaar voorwerp is onveranderlik. As 'n tou kan verander (byvoorbeeld: baie logika en bedrywighede in die bou van die string ) toe gebruik a StringBuilder is die beste opsie.

Aanbeveel: