Forskjellen Mellom StringBuffer Og StringBuilder

Forskjellen Mellom StringBuffer Og StringBuilder
Forskjellen Mellom StringBuffer Og StringBuilder

Video: Forskjellen Mellom StringBuffer Og StringBuilder

Video: Forskjellen Mellom StringBuffer Og StringBuilder
Video: Строки в Java. String, StringBuilder, StringBuffer, Wrappers. Java Professional. Урок 5 2024, November
Anonim

StringBuffer vs StringBuilder

Java er et veldig populært objektorientert språk. I Java er String-klassen gitt til å inneholde en sekvens av tegn som ikke kan endres (når den først er initialisert). Alternativt gir programmeringsspråket Java to typer muterbare sekvenser av tegn. Det vil si at når programmererne trenger å endre en viss streng (etter initialisering), må de bruke StringBuffer-klassen eller StringBuilder-klassen, i stedet for String-klassen. StringBuffer ble introdusert i JDK 1.0 og StringBuilder-klassen ble introdusert i JDK 1.5, faktisk som en erstatning for StringBuffer-klassen (for miljøer med en tråd).

Hva er StringBuffer?

StringBuffer-klassen ble introdusert i JDK 1.0. StringBuffer-klassen tilhører java.lang-pakken og arves fra det generiske java.lang.object. Programmører kan ikke utvide det ytterligere siden Det er en siste klasse. StringBuffer-klassen implementerer grensesnitt Serializable, Appendable og CharSequience. Et objekt i klassen StringBuffer kan inneholde en sekvens av tegn som er mutable og trådsikre. Det betyr at det ligner veldig på et String-objekt, men rekkefølgen av tegn (lengde og innhold) kan endres når som helst etter initialisering av StringBuffer-objektet. Dette bør imidlertid gjøres ved hjelp av de spesifikke metodene som tilbys av StringBuffer-klassen. Det er to hovedoperasjoner i StringBuffer-klassen. De er levert av append () og insert () metoder. Disse metodene er overbelastet,slik at de er i stand til å akseptere data av alle typer, for eksempel heltall og lange. Begge metodene transformerer først alle innganger til en streng, og legger deretter til (legger til eller setter inn) tegnene til den tilsvarende strengen i det eksisterende Stribbuffer-objektet. Metoden append () legger til den konverterte strengen til slutten av det eksisterende StringBuffer-objektet, mens metoden insert () vil legge til inngangstegnene til det angitte innsettingspunktet.

Hva er StringBuilder?

StringBuilder-klassen ble introdusert i JDK 1.5. StringBuilder API ligner veldig på StringBuffer API. Faktisk ble StringBuilder-klassen faktisk introdusert som en erstatning for StringBuffer-klassen (for applikasjoner med en tråd). StringBuilder-klassen tilhører java.lang-pakken og arves fra det generiske java.lang.object. Det er en siste klasse, og derfor kan ikke programmererne utvide den. StringBuilder-klassen implementerer grensesnitt Serializable, Appendable og CharSequience. Et objekt i klassen StringBuilder kan inneholde en sekvens av tegn som er mutable, men ikke trådsikre. Det betyr at det er veldig likt et strengobjekt, men strengen kan endres når som helst. Men StringBuilder-klassen gir ikke synkronisering, og hevdes derfor å være raskere enn å bruke StringBuffer-klassen. StringBuilder-klassen gir append () og insert () -metoder med nøyaktig lignende funksjonalitet som i StringBuffer-klassen.

Hva er forskjellen mellom StringBuffer og StringBuilder?

Selv om StringBuilder- og StringBuffer-klassene kan brukes til foranderlige sekvenser av tegn i Java, har de en viktig forskjell. I motsetning til StringBuffer-klassen, er StringBuilder-klassen ikke trådsikker, og gir ingen synkronisering. Derfor anbefales det at StringBuilder-klassen skal brukes i stedet for StringBuffer-klassen i applikasjoner med en tråd, fordi det hevdes at StringBuilder-klassen vil være mye raskere enn StringBuffer-klassen (under normale omstendigheter).

Anbefalt: