StringBuffer I Java er en trådsikker, foranderlig sekvens av tegn, og bruker Dermed StringBuffer-klassen du kan lage modifiserbare Strengobjekter.
i poststrengen I Java har vi allerede sett At Strengobjekter er uforanderlige, Dvs. Strenger er konstante; deres verdier kan ikke endres etter at de er opprettet. På grunn av denne egenskapen uforanderlighet når du bruker En Streng modifikasjon metode som kjede sammen hva som faktisk skjer er at en Ny Streng opprettes og returneres som inneholder resultatet av operasjonen. Det kan føre til opprettelse av mange mellomliggende Strengobjekter hvis Strengen endres flere ganger, noe som igjen betyr at mer minne blir brukt til disse mellomliggende objektene.
Ved Hjelp Av StringBuffer objekt kan du unngå dette problemet med å lage flere objekter som det er foranderlig. Ikke overraskende er de viktigste operasjonene på En StringBuffer tilføy og sett inn metoder.
- Viktige punkter om Java StringBuffer
- Java StringBuffer Konstruktører
- Eksempler På Java StringBuffer
Viktige punkter om Java StringBuffer
noen av de viktige punktene om Java StringBuffer stringbuffer klasse.
- StringBuffer I Java gir mye av funksjonaliteten Til Strengklassen med en fremtredende avvik som StringBuffer er foranderlig.
- StringBuffer er også tråd-safe dermed StringBuffer objekt kan trygt brukes av flere tråder. Metodene Til StringBuffer-klassen synkroniseres der det er nødvendig.
- Hver StringBuffer er opprettet med en kapasitet. Så lenge lengden på tegnsekvensen i strengbufferen ikke overskrider kapasiteten, er det ikke nødvendig å tildele en ny intern buffer array. Hvis den interne bufferen flyter over, blir den automatisk større.Java 5 videre StringBuilder klasse er også gitt som tilsvarer StringBuffer klasse, men designet for bruk av en enkelt tråd. StringBuilder er raskere, som det utfører ingen synkronisering.
Java StringBuffer Konstruktører
Det er fire konstruktører I StringBuffer klasse.
- StringBuffer () – Konstruerer en strengbuffer uten tegn i den og en innledende kapasitet på 16 tegn.
StringBuffer sb = new StringBuffer();
- StringBuffer(int capacity)– Konstruerer en strengbuffer uten tegn i den og den angitte innledende kapasiteten.
StringBuffer sb = new StringBuffer(30);
- StringBuffer(CharSequence seq)– Konstruerer en strengbuffer som inneholder de samme tegnene som den angitte CharSequence.Her CharSequence Er et grensesnitt som er implementert Av CharBuffer, Segment, String, StringBuffer, Stringbuffer.
- StringBuffer– String str) – Konstruerer en strengbuffer initialisert til innholdet i den angitte strengen.
StringBuffer sb = new StringBuffer("Hello");
Eksempler På Java StringBuffer-metode
tilføy metode
tilføy metode er overbelastet for å godta data av enhver type. Denne metoden føyer strengrepresentasjonen av den gitte datatypen til eksisterende buffer. Tilføy-metoden legger alltid til disse tegnene på slutten av bufferen.
public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Hello"); sb.append(" "); sb.append("World").append(" ").append(123); System.out.println("Appended String- " + sb.toString()); }}
Output
Appended String- Hello World 123
som du kan se fra eksempelet append brukes Med Streng som argument og også int som argument som det er overbelastet for disse datatypene. Du kan også kjede tilføye metode som gjort i denne kodelinjen –
sb.append("World").append(" ").append(123)
Ved hjelp av tilføye metode kan vi også sjekke påstanden Om At Strengen er uforanderlig der Som StringBuffer er foranderlig. I eksemplet opprettes Et StringBuffer-objekt, og deretter legges verdier til det, og den returnerte referansen lagres i en Annen StringBuffer.
på samme måte som En Streng opprettes og verdier legges til, refereres den returnerte Strengen også av en Annen Streng.
ved å sjekke likestilling av To StringBuffer referanser kan du se at begge er like, mens For Streng begge er forskjellige.
public class StringLiteral {public static void main(String args) {// With StringBufferSystem.out.println("StringBuffer...");StringBuffer sb = new StringBuffer("Hello");sb.append(" ");StringBuffer newsb = sb.append("World").append(" ").append(123);if (sb == newsb) {System.out.println("Reference is same");}else {System.out.println("Reference is different");}// With StringSystem.out.println("String...");String str = "Hello";String newstr = str.concat(" ").concat("World").concat(" ").concat("123");if (str == newstr) {System.out.println("Reference is same");}else {System.out.println("Reference is different");}}}
Utgang
StringBuffer...Reference is sameString...Reference is different
sett inn metode
sett inn metode er overbelastet for å godta data av enhver type. Denne metoden brukes til å sette inn strengrepresentasjonen av den gitte datatypen til eksisterende buffer. Sett inn-metoden legger til tegnene på et bestemt punkt.
sett inn metode tar to argumenter først et heltall som angir posisjonen der tegn skal settes inn i bufferen og andre argument er teksten som skal settes inn.
public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Knp"); sb.insert(3, "Code"); System.out.println("String after insert- " + sb); }}
Utgang
String after insert- KnpCode
lengde-og kapasitetsmetoder
kapasitet () – Returnerer Gjeldende kapasitet For StringBuffer.
length () – Returnerer antall tegn i denne sekvensen.
public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer(30); sb.append("Hello"); System.out.println("Capacity of StringBuffer- " + sb.capacity()); System.out.println("Length of StringBuffer- " + sb.length()); }}
Output
Capacity of StringBuffer- 30Length of StringBuffer- 5
Som du kan se StringBuffer er opprettet med kapasitet som 30 slik at kapasiteten vises som 30 der som antall tegn i bufferen er 5 slik at lengden vises som 5.
delete and deleteCharAt methods
- delete (int start, int end) – Fjerner tegnene i en delstreng av denne sekvensen. start som indikerer at begynnelsesindeksen er inkluderende der som slutt som indikerer sluttindeksen er eksklusiv.
- deleteCharAt (int index) – Fjerner char på den angitte posisjonen i denne sekvensen.
public class StringLiteral { public static void main(String args) { StringBuffer sb = new StringBuffer("Hello"); sb.delete(1, 4); System.out.println("After deletion- " + sb); System.out.println("Length of StringBuffer- " + sb.length()); }}
Utdata
After deletion- HoLength of StringBuffer- 2
public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");sb.deleteCharAt(4);System.out.println("After deletion- " + sb);System.out.println("Length of StringBuffer- " + sb.length());}}
Utdata
After deletion- HellLength of StringBuffer- 4
Java StringBuffer omvendt metode
reverse()– reverserer eksisterende stringbuffer.
public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");System.out.println("Reversed- " + sb.reverse());}}
Output
Reversed- olleH
Java StringBuffer replace method
replace(int start, int end, String str)– Erstatter tegnene i en substring av denne sekvensen (start til slutt-1) med tegn i den angitte Strengen.
public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");sb.replace(3, 5, "ena");System.out.println("String- " + sb);}}
Utgang
String- Helena
- Java StringBuilder Med Metodeeksempler
- Hvorfor Strengen Er Uforanderlig I Java
- Er Java Streng Tråd Sikker
- Java String intern() Metode
- Java String split() Metode
- kompakte strenger i java 9
- finn lengde på streng uten å bruke lengde() metode i java
- konverter char til streng og streng til char i java
li>
det er alt For Emnet Java Stringbuffer med metodeeksempler. Hvis noe mangler eller du har noe å dele om emnet kan du skrive en kommentar.
du kan også like