Vai StringBuilder ir ātrāks par virkņu savienošanu?
Vai StringBuilder ir ātrāks par virkņu savienošanu?

Video: Vai StringBuilder ir ātrāks par virkņu savienošanu?

Video: Vai StringBuilder ir ātrāks par virkņu savienošanu?
Video: DO NOT Concatenate Strings Like This In Python, There's A Better Way. 2024, Aprīlis
Anonim

1) Stīga objekts ir nemainīgs Java, bet StringBuffer un StringBuilder ir mainīgi objekti. 2) StringBuffer tiek sinhronizēts, kamēr StringBuilder nav kas padara StringBuilder ātrāk nekā StringBuffer. 3) Savienošana operators "+" ir iekšēji ieviests, izmantojot vai nu StringBuffer, vai StringBuilder.

Līdzīgi var jautāt, vai virknes formāts ir ātrāks nekā savienošana?

Galvenais iemesls ir tas Stīga . formātā () var vieglāk lokalizēt ar tekstu, kas ielādēts no resursu failiem, turpretim savienošana nevar lokalizēt, neradot jaunu izpildāmo failu ar atšķirīgu kodu katrai valodai. Laika noteikšanas rezultāti ir šādi: Savienošana = 265 milisekundes.

Turklāt, kad nevajadzētu izmantot StringBuilder? Tātad izmantojiet StringBuilder kad vajag darīt virknē daudzas modifikācijas. Nav tiešām tu jāizmanto StringBuilder ja savienojat lielas virknes vai jums ir daudz savienojumu, piemēram, cilpā. Es vispār izmantojiet stīgu veidotāju jebkuram koda blokam, kura rezultātā tiktu savienotas trīs vai vairākas virknes.

Tāpat, kura ir ātrāka virkne vai StringBuilder?

Objekti no Stīga ir nemainīgi, un StringBuffer un objekti StringBuilder ir mainīgi. StringBuffer un StringBuilder ir līdzīgi, bet StringBuilder ir ātrāk un priekšroka tiek dota vienai vītnei, nevis StringBuffer. Ja nepieciešama vītnes drošība, tiek izmantots StringBuffer.

Kad programmētājs izmantotu string vs StringBuilder?

Kad lai izmantot kurš: Ja a virkne tas paliks nemainīgs visas programmas laikā izmantojiet String klases objekts, jo a Stīga objekts ir nemainīgs. Ja stīgu var izmaiņas (piemērs: daudz loģikas un operācijas celtniecībā virkne ) tad izmantojot a StringBuilder ir labākais variants.

Ieteicams: