logo

StringBuilder-klass i Java med exempel

StringBuilder i Java representerar en föränderlig sekvens av tecken. Eftersom String Class i Java skapar en oföränderlig sekvens av tecken, tillhandahåller StringBuilder-klassen ett alternativ till String Class, eftersom den skapar en föränderlig sekvens av tecken. Funktionen hos StringBuilder är mycket lik StringBuffer-klassen, eftersom båda ger ett alternativ till String Class genom att göra en föränderlig sekvens av tecken. StringBuilder-klassen skiljer sig dock från StringBuffer-klassen på basis av synkronisering. Klassen StringBuilder ger ingen garanti för synkronisering medan StringBuffer-klassen gör det. Därför är den här klassen designad för att användas som en drop-in-ersättning för StringBuffer på platser där StringBuffer användes av en enda tråd (som i allmänhet är fallet). Där det är möjligt rekommenderas det att denna klass används framför StringBuffer eftersom den kommer att vara snabbare under de flesta implementeringar. Förekomster av StringBuilder är inte säkra för användning av flera trådar. Om sådan synkronisering krävs rekommenderar vi att StringBuffer används. String Builder är inte trådsäker och har hög prestanda jämfört med String buffert.

Klasshierarkin är som följer:

java.lang.Object ↳ java.lang ↳ Class StringBuilder>

Syntax:



public final class StringBuilder extends Object implements Serializable, CharSequence>

Konstruktörer i Java StringBuilder Class

    StringBuilder(): Konstruerar en strängbyggare utan tecken och en initial kapacitet på 16 tecken. StringBuilder(int kapacitet): Konstruerar en strängbyggare utan tecken och en initial kapacitet som anges av kapacitetsargumentet. StringBuilder(CharSequence seq): Konstruerar en strängbyggare som innehåller samma tecken som den angivna CharSequence. StringBuilder(String str): Konstruerar en strängbyggare initierad till innehållet i den angivna strängen.

Nedan är ett exempelprogram för att illustrera StringBuilder i Java.

Java




// Java Code to illustrate StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)>throws> Exception> >{> >// Create a StringBuilder object> >// using StringBuilder() constructor> >StringBuilder str =>new> StringBuilder();> >str.append(>'GFG'>);> >// print string> >System.out.println(>'String = '> + str.toString());> >// create a StringBuilder object> >// using StringBuilder(CharSequence) constructor> >StringBuilder str1> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String1 = '> + str1.toString());> >// create a StringBuilder object> >// using StringBuilder(capacity) constructor> >StringBuilder str2 =>new> StringBuilder(>10>);> >// print string> >System.out.println(>'String2 capacity = '> >+ str2.capacity());> >// create a StringBuilder object> >// using StringBuilder(String) constructor> >StringBuilder str3> >=>new> StringBuilder(str1.toString());> >// print string> >System.out.println(>'String3 = '> + str3.toString());> >}> }>

>

>

Produktion

String = GFG String1 = AAAABBBCCCC String2 capacity = 10 String3 = AAAABBBCCCC>

Metoder i Java StringBuilder

StringBuilder tillägg(X x) : Den här metoden lägger till strängrepresentationen av X-typargumentet till sekvensen.

  1. StringBuilder appendCodePoint(int codePoint) : Den här metoden lägger till strängrepresentationen av codePoint-argumentet till den här sekvensen.
  2. int kapacitet() : Denna metod returnerar den aktuella kapaciteten.
  3. char charAt(int index) : Denna metod returnerar char-värdet i denna sekvens vid det angivna indexet.
  4. IntStream chars() : Denna metod returnerar en ström av int noll som utökar char-värdena från denna sekvens.
  5. int codePointAt(int index) : Denna metod returnerar tecknet (Unicode-kodpunkt) vid det angivna indexet.
  6. int codePointBefore(int index) : Denna metod returnerar tecknet (Unicode-kodpunkt) före det angivna indexet.
  7. int codePointCount(int startIndex, int endIndex) : Den här metoden returnerar antalet Unicode-kodpunkter i det angivna textintervallet för denna sekvens.
  8. IntStream codePoints() : Denna metod returnerar en ström av kodpunktsvärden från denna sekvens.
  9. StringBuilder delete(int start, int end) : Denna metod tar bort tecknen i en delsträng av denna sekvens.
  10. StringBuilder deleteCharAt(int index) : Den här metoden tar bort char vid den angivna positionen i denna sekvens.
  11. void sureCapacity(int minimumCapacity) : Denna metod säkerställer att kapaciteten är minst lika med det specificerade minimumet.
  12. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : Denna metods tecken kopieras från denna sekvens till målteckenmatrisen dst.
  13. int indexOf() : Denna metod returnerar indexet inom denna sträng för den första förekomsten av den angivna delsträngen.
  14. StringBuilder insert(int offset, boolesk b) : Denna metod infogar strängrepresentationen av det booleska alternativa argumentet i denna sekvens. StringBuilder insert() : Denna metod infogar strängrepresentationen av char-argumentet i denna sekvens.
  15. int lastIndexOf() : Denna metod returnerar indexet inom denna sträng för den senaste förekomsten av den angivna delsträngen.
  16. int length() : Denna metod returnerar längden (antal tecken).
  17. int offsetByCodePoints(int index, int codePointOffset) : Denna metod returnerar indexet inom denna sekvens som är förskjutet från det givna indexet med codePointOffset-kodpunkter.
  18. StringBuilder replace(int start, int end, String str) : Denna metod ersätter tecknen i en delsträng av denna sekvens med tecken i den angivna strängen.
  19. StringBuilder reverse() : Denna metod gör att den här teckensekvensen ersätts av den omvända sekvensen.
  20. void setCharAt(int index, char ch) : I den här metoden sätts tecknet vid det angivna indexet till kap.
  21. void setLength(int newLength) : Denna metod ställer in längden på teckensekvensen.
  22. CharSequence subSequence(int start, int end) : Denna metod returnerar en ny teckensekvens som är en undersekvens av denna sekvens.
  23. String substring() : Den här metoden returnerar en ny sträng som innehåller en undersekvens av tecken som för närvarande finns i denna teckensekvens.
  24. String toString() : Denna metod returnerar en sträng som representerar data i denna sekvens.
  25. void trimToSize() : Denna metod försöker minska lagringen som används för teckensekvensen.

Exempel:

Java


är tom java



// Java code to illustrate> // methods of StringBuilder> import> java.util.*;> import> java.util.concurrent.LinkedBlockingQueue;> public> class> GFG1 {> >public> static> void> main(String[] argv)> >throws> Exception> >{> >// create a StringBuilder object> >// with a String pass as parameter> >StringBuilder str> >=>new> StringBuilder(>'AAAABBBCCCC'>);> >// print string> >System.out.println(>'String = '> >+ str.toString());> >// reverse the string> >StringBuilder reverseStr = str.reverse();> >// print string> >System.out.println(>'Reverse String = '> >+ reverseStr.toString());> >// Append ', '(44) to the String> >str.appendCodePoint(>44>);> >// Print the modified String> >System.out.println(>'Modified StringBuilder = '> >+ str);> >// get capacity> >int> capacity = str.capacity();> >// print the result> >System.out.println(>'StringBuilder = '> + str);> >System.out.println(>'Capacity of StringBuilder = '> >+ capacity);> >}> }>

>

>

Produktion

String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>

StringBuilder är en annan klass i Java som används för att manipulera strängar. Liksom StringBuffer är det en föränderlig klass som låter dig ändra innehållet i strängen den representerar. StringBuilder är dock inte trådsäker, så den bör inte användas i en flertrådig miljö.

Här är några exempel på hur man använder StringBuilder i Java:

Java




blockera annonser på youtube android

public> class> StringBuilderExample {> >public> static> void> main(String[] args) {> >StringBuilder sb =>new> StringBuilder();> >sb.append(>'Hello'>);> >sb.append(>' '>);> >sb.append(>'world!'>);> >System.out.println(sb.toString());>// Output: 'Hello world!'> > >sb.insert(>6>,>'beautiful '>);> >System.out.println(sb.toString());>// Output: 'Hello beautiful world!'> > >sb.reverse();> >System.out.println(sb.toString());>// Output: '!dlrow lufituaeb olleH'> >}> }>

>

>

Produktion

Hello world! Hello beautiful world! !dlrow lufituaeb olleH>