Vilket är bättre StringBuffer eller StringBuilder?
Vilket är bättre StringBuffer eller StringBuilder?

Video: Vilket är bättre StringBuffer eller StringBuilder?

Video: Vilket är bättre StringBuffer eller StringBuilder?
Video: Conan Unconquered Review [German; multilingual subtitles] Barbaric real-time strategy in the test 2024, November
Anonim

Sträng är oföränderlig medan StringBuffer och StringBuider är föränderliga klasser. StringBuffer är trådsäker och synkroniserad medan StringBuilder inte, det är därför StringBuilder är snabbare än StringBuffer . Strängkonkat + operatör används internt StringBuffer eller StringBuilder klass.

På motsvarande sätt, vilken är bättre StringBuffer eller StringBuilder?

Som ett resultat, StringBuilder är snabbare än StringBuffer . StringBuffer är föränderlig. Det kan ändras vad gäller längd och innehåll. StringBuffers är trådsäkra, vilket innebär att de har synkroniserade metoder för att kontrollera åtkomst så att endast ett tråd kan komma åt en StringBuffer objektets synkroniserade kod åt gången.

På samma sätt, varför är StringBuffer långsammare än StringBuilder? Objektet skapat genom StringBuffer lagras i högen. StringBuffer har samma metoder som StringBuilder , men varje metod i StringBuffer är synkroniserad dvs StringBuffer är trådsäker. Således StringBuilder är snabbare än de StringBuffer när du anropar samma metoder för varje klass.

Därav, vad är skillnaden mellan StringBuffer och StringBuilder?

StringBuilder . StringBuilder är samma som StringBuffer , det vill säga den lagrar objektet i en heap och det kan också modifieras. Den huvudsakliga skillnad mellan de StringBuffer och StringBuilder är det StringBuilder är inte trådsäker. StringBuilder är snabb då den inte är trådsäker.

När ska jag använda StringBuffer?

Om objektvärdet kan ändras och endast kommer att nås från en enda tråd, använda sig av en StringBuilder eftersom StringBuilder är osynkroniserad. Om objektvärdet kan ändras och kommer att ändras av flera trådar, använda sig av a StringBuffer eftersom StringBuffer är synkroniserad.

Rekommenderad: