Skillnaden Mellan StringBuffer Och StringBuilder

Skillnaden Mellan StringBuffer Och StringBuilder
Skillnaden Mellan StringBuffer Och StringBuilder

Video: Skillnaden Mellan StringBuffer Och StringBuilder

Video: Skillnaden Mellan StringBuffer Och StringBuilder
Video: Java SE. Урок 27. Классы StringBuilder / StringBuffer и их методы 2024, November
Anonim

StringBuffer vs StringBuilder

Java är ett mycket populärt objektorienterat språk. I Java tillhandahålls strängklassen för att innehålla en sekvens av tecken som inte kan ändras (en gång initierad). Alternativt ger Java-programmeringsspråket två typer av muterbara sekvenser av tecken. Det vill säga när programmerarna behöver ändra en viss sträng (efter initialisering), måste de använda klassen StringBuffer eller StringBuilder istället för klassen String. StringBuffer introducerades i JDK 1.0 och StringBuilder-klassen introducerades i JDK 1.5, faktiskt som en ersättning för StringBuffer-klassen (för miljöer med en tråd).

Vad är StringBuffer?

StringBuffer-klassen introducerades i JDK 1.0. StringBuffer-klassen tillhör paketet java.lang och ärvs från det generiska java.lang.object. Programmerare kan inte förlänga det ytterligare eftersom det är en sista klass. StringBuffer-klassen implementerar Serializable, Appendable och CharSequience-gränssnitt. Ett objekt i klassen StringBuffer kan innehålla en sekvens av tecken som är muterbar och trådsäker. Det betyder att det liknar mycket ett String-objekt, men sekvensen av tecken (längd och innehåll) kan ändras när som helst efter att StringBuffer-objektet har initialiserats. Det bör dock göras med de specifika metoder som tillhandahålls av StringBuffer-klassen. Det finns två principoperationer i StringBuffer-klassen. De tillhandahålls av append () och insert () -metoder. Dessa metoder är överbelastade,så de kan acceptera data av vilken typ som helst som heltal och lång. Båda metoderna omvandlar först en ingång till en sträng och lägger sedan till (lägger till eller infogar) tecknen i motsvarande sträng till det befintliga Stribbuffer-objektet. Metoden append () lägger till den konverterade strängen i slutet av det befintliga StringBuffer-objektet, medan metoden insert () lägger till inmatningstecken till den angivna insättningspunkten.

Vad är StringBuilder?

StringBuilder-klassen introducerades i JDK 1.5. StringBuilder API liknar väldigt mycket StringBuffer API. Faktum är att StringBuilder-klassen faktiskt introducerades som en ersättning för StringBuffer-klassen (för applikationer med en tråd). StringBuilder-klassen tillhör paketet java.lang och ärvs från det generiska java.lang.object. Det är en sista klass och därför kan programmerarna inte förlänga den. StringBuilder-klassen implementerar Serializable, Appendable och CharSequience-gränssnitt. Ett objekt i klassen StringBuilder kan innehålla en sekvens av tecken som är muterbara men inte trådsäkra. Det betyder att det mycket liknar ett strängobjekt, men strängen kan ändras när som helst. Men StringBuilder-klassen tillhandahåller inte synkronisering och påstås därför vara snabbare än att använda StringBuffer-klassen. StringBuilder-klassen ger append () och insert () -metoder med exakt samma funktion som i StringBuffer-klassen.

Vad är skillnaden mellan StringBuffer och StringBuilder?

Även om StringBuilder- och StringBuffer-klasserna kan användas för muterbara sekvenser av tecken i Java, har de en viktig skillnad. Till skillnad från StringBuffer-klassen är StringBuilder-klassen inte trådsäker och ger ingen synkronisering. Därför rekommenderas att StringBuilder-klassen används i stället för StringBuffer-klassen i enkeltrådsapplikationer, eftersom det hävdas att StringBuilder-klassen kommer att vara mycket snabbare än StringBuffer-klassen (under normala omständigheter).

Rekommenderas: