Hvilken er bedre StringBuffer eller StringBuilder?
Hvilken er bedre StringBuffer eller StringBuilder?

Video: Hvilken er bedre StringBuffer eller StringBuilder?

Video: Hvilken er bedre StringBuffer eller StringBuilder?
Video: CS50 2015 - Week 5 2024, Kan
Anonim

String er uforanderlig mens StringBuffer og StringBuider er foranderlige klasser. StringBuffer er trådsikker og synkroniseret StringBuilder er det ikke, det er derfor StringBuilder er hurtigere end StringBuffer . String concat + operator bruges internt StringBuffer eller StringBuilder klasse.

Tilsvarende, hvilken er bedre StringBuffer eller StringBuilder?

Som resultat, StringBuilder er hurtigere end StringBuffer . StringBuffer er foranderlig. Det kan ændre sig med hensyn til længde og indhold. StringBuffere er trådsikre, hvilket betyder, at de har synkroniserede metoder til at kontrollere adgangen, så kun en tråd kan få adgang til en StringBuffer objektets synkroniserede kode ad gangen.

På samme måde, hvorfor er StringBuffer langsommere end StringBuilder? Objektet skabt igennem StringBuffer er gemt i bunken. StringBuffer har samme metoder som StringBuilder , men hver metode i StringBuffer er synkroniseret, dvs StringBuffer er trådsikker. Dermed StringBuilder er hurtigere end det StringBuffer når du kalder de samme metoder i hver klasse.

Heraf, hvad er forskellen mellem StringBuffer og StringBuilder?

StringBuilder . StringBuilder er det samme som StringBuffer , det vil sige, at den gemmer objektet i heap, og det kan også modificeres. Det vigtigste forskel mellem det StringBuffer og StringBuilder er det StringBuilder er ikke trådsikker. StringBuilder er hurtig, da den ikke er trådsikker.

Hvornår skal jeg bruge StringBuffer?

Hvis objektværdien kan ændres og kun vil blive tilgået fra en enkelt tråd, brug en StringBuilder, fordi StringBuilder er usynkroniseret. I tilfælde af at objektværdien kan ændres og vil blive ændret af flere tråde, brug -en StringBuffer fordi StringBuffer er synkroniseret.

Anbefalede: