Java StringBuffer met Methodevoorbeelden

StringBuffer in Java is een thread-veilige, veranderlijke reeks karakters.

in de post-String in Java hebben we al gezien dat String-objecten onveranderlijk zijn, dat wil zeggen dat Strings constant zijn; hun waarden kunnen niet worden gewijzigd nadat ze zijn gemaakt. Door deze onveranderlijkheid eigenschap wanneer je een string modificatiemethode zoals concatenation gebruikt, gebeurt er in feite dat er een nieuwe String wordt aangemaakt en geretourneerd die het resultaat van de operatie bevat. Dat kan leiden tot het creëren van veel tussenliggende String objecten als String meerdere malen wordt gewijzigd, wat op zijn beurt betekent dat er meer geheugen wordt gebruikt voor deze tussenliggende objecten.

met StringBuffer object kunt u dit probleem van het maken van meerdere objecten voorkomen, omdat het veranderlijk is. Het is niet verwonderlijk dat de belangrijkste bewerkingen op een StringBuffer de methoden append en insert zijn.

inhoudsopgave
  1. belangrijke punten over Java StringBuffer
  2. Java StringBuffer Constructors
  3. Java StringBuffer method examples

belangrijke punten over Java StringBuffer

enkele van de belangrijke punten over StringBuffer class.

  1. StringBuffer in Java biedt een groot deel van de functionaliteit van String class met één opvallende afwijking dat StringBuffer veranderlijk is.
  2. StringBuffer is ook thread-safe dus StringBuffer object kan veilig worden gebruikt door meerdere threads. De methoden van de StringBuffer klasse worden gesynchroniseerd waar nodig.
  3. elke StringBuffer wordt aangemaakt met een capaciteit. Zolang de lengte van de tekenreeks in de StringBuffer de capaciteit niet overschrijdt, is het niet nodig om een nieuwe interne buffer array toe te wijzen. Als de interne buffer overloopt, wordt deze automatisch groter gemaakt.
  4. Java 5 onward StringBuilder class wordt ook geleverd wat gelijk is aan StringBuffer class maar ontworpen is voor gebruik door een enkele thread. StringBuilder is sneller, omdat het geen synchronisatie uitvoert.

Java StringBuffer Constructors

Er zijn vier constructors in StringBuffer klasse.

  1. StringBuffer () – maakt een StringBuffer zonder karakters en een initiële capaciteit van 16 karakters.
    StringBuffer sb = new StringBuffer();
  2. StringBuffer(int capacity)– construeert een StringBuffer zonder karakters en de opgegeven initiële capaciteit.
    StringBuffer sb = new StringBuffer(30);
  3. StringBuffer(CharSequence seq)– maakt een StringBuffer die dezelfde tekens bevat als de opgegeven CharSequence.
    hier is CharSequence een interface die geà mplementeerd wordt door CharBuffer, Segment, StringBuffer, StringBuilder.
  4. StringBuffer– String str) – construeert een StringBuffer geïnitialiseerd naar de inhoud van de opgegeven string.
    StringBuffer sb = new StringBuffer("Hello");

Java StringBuffer method examples

append method

append method is overbelast om gegevens van elk type te accepteren. Deze methode voegt de string representatie van het gegeven gegevenstype toe aan bestaande buffer. De append methode voegt altijd deze tekens toe aan het einde van de buffer.

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

zoals u kunt zien in het voorbeeld wordt append gebruikt met tekenreeks als argument en ook int als argument als het overbelast is voor deze gegevenstypen. U kunt ook de methode toevoegen chain geven zoals gedaan in deze codelijn-

sb.append("World").append(" ").append(123)

met behulp van de methode toevoegen kunnen we ook het statement controleren dat de String onveranderlijk is waar as StringBuffer veranderlijk is. In het voorbeeld wordt een StringBuffer object aangemaakt en dan worden er waarden aan toegevoegd en wordt de geretourneerde referentie opgeslagen in een andere StringBuffer.

Op dezelfde manier als een tekenreeks wordt aangemaakt en waarden eraan worden toegevoegd, wordt geretourneerde tekenreeks ook gerefereerd door een andere tekenreeks.

bij het controleren van de gelijkheid van twee StringBuffer referenties kunt u zien dat beide hetzelfde zijn terwijl voor String beide verschillend zijn.

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");}}}

Output

StringBuffer...Reference is sameString...Reference is different

insert method

insert method is overbelast om gegevens van elk type te accepteren. Deze methode wordt gebruikt om de string representatie van het gegeven gegevenstype in te voegen aan bestaande buffer. De methode invoegen voegt de tekens op een bepaald punt toe.

insert methode neemt twee argumenten eerst een geheel getal dat de positie aangeeft waar tekens in de buffer moeten worden ingevoegd en het tweede argument is de tekst die moet worden ingevoegd.

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); }}

Output

String after insert- KnpCode

length and capacity methods

capacity()– geeft de huidige capaciteit van de StringBuffer terug.

length () – geeft het aantal tekens in deze reeks terug.

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()); }}

uitvoer

Capacity of StringBuffer- 30Length of StringBuffer- 5

zoals u kunt zien wordt StringBuffer aangemaakt met een capaciteit als 30, zodat de capaciteit wordt weergegeven als 30, waarbij het aantal tekens in de buffer 5 is, zodat de lengte wordt weergegeven als 5.

delete and deleteCharAt methods

  • delete (int start, int end) – verwijdert de tekens in een substring van deze reeks. start die aangeeft dat de beginindex Inclusief is, waar als einde dat aangeeft dat de eindindex exclusief is.
  • deleteCharAt (int index) – verwijdert het teken op de opgegeven positie in deze reeks.
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()); }}

Output

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());}}

Output

After deletion- HellLength of StringBuffer- 4

Java StringBuffer reverse method

reverse()– Reverses de bestaande 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)– vervangt de tekens in een substring van deze reeks (begin tot eind-1) door tekens in de opgegeven String.

public class StringLiteral {public static void main(String args) {StringBuffer sb = new StringBuffer("Hello");sb.replace(3, 5, "ena");System.out.println("String- " + sb);}}

Output:

String- Helena
  • Java StringBuilder Met de Methode Voorbeelden
  • Waarom String is Onveranderlijk in Java
  • Is Java String Thread-Safe
  • Java String intern() Methode
  • Java String split() Methode
  • Compact Snaren in Java 9
  • het Vinden van de Lengte van de String Zonder Gebruik te maken van de de lengte() Methode in Java
  • Zetten Char naar een String En String Char in Java

Dat is allemaal voor het onderwerp Java StringBuffer Met de Methode Voorbeelden. Als er iets ontbreekt of u iets te delen over het onderwerp schrijf een reactie.

u vindt

Misschien Ook Leuk

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.