StringBuilder i Java repræsenterer en foranderlig sekvens af tegn. Da String Class i Java opretter en uforanderlig sekvens af tegn, giver StringBuilder klassen et alternativ til String Class, da den opretter en foranderlig sekvens af tegn. Funktionen af StringBuilder minder meget om StringBuffer-klassen, da de begge giver et alternativ til String Class ved at lave en foranderlig sekvens af tegn. StringBuilder-klassen adskiller sig dog fra StringBuffer-klassen på basis af synkronisering. StringBuilder-klassen giver ingen garanti for synkronisering, hvorimod StringBuffer-klassen gør. Derfor er denne klasse designet til brug som en drop-in erstatning for StringBuffer på steder, hvor StringBuffer blev brugt af en enkelt tråd (som det generelt er tilfældet). Hvor det er muligt, anbefales det, at denne klasse bruges frem for StringBuffer, da den vil være hurtigere under de fleste implementeringer. Forekomster af StringBuilder er ikke sikre til brug af flere tråde. Hvis en sådan synkronisering er påkrævet, anbefales det, at StringBuffer bruges. String Builder er ikke trådsikker og høj ydeevne sammenlignet med String buffer.
forskel på løve og tiger
Klassehierarkiet er som følger:
java.lang.Object ↳ java.lang ↳ Class StringBuilder>
Syntaks:
public final class StringBuilder extends Object implements Serializable, CharSequence>
Konstruktører i Java StringBuilder Class
- StringBuilder(): Konstruerer en strengbuilder uden tegn og en startkapacitet på 16 tegn. StringBuilder(int kapacitet): Konstruerer en strengbygger uden tegn og en initial kapacitet angivet af kapacitetsargumentet. StringBuilder(CharSequence seq): Konstruerer en strengbuilder, der indeholder de samme tegn som den angivne CharSequence. StringBuilder(String str): Konstruerer en strengbuilder initialiseret til indholdet af den angivne streng.
Nedenfor er et eksempelprogram til at illustrere StringBuilder i Java.
Java
java int til char
// 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 tilføje(X x) : Denne metode tilføjer strengrepræsentationen af X-type-argumentet til sekvensen.
- StringBuilder appendCodePoint(int codePoint) : Denne metode tilføjer strengrepræsentationen af codePoint-argumentet til denne sekvens.
- int kapacitet() : Denne metode returnerer den aktuelle kapacitet.
- char charAt(int index) : Denne metode returnerer char-værdien i denne sekvens ved det angivne indeks. IntStream chars() : Denne metode returnerer en strøm af int nul, der forlænger char-værdierne fra denne sekvens.
- int kodePointAt(int indeks) : Denne metode returnerer tegnet (Unicode-kodepunkt) ved det angivne indeks.
- int codePointBefore(int index) : Denne metode returnerer tegnet (Unicode-kodepunkt) før det angivne indeks.
- int codePointCount(int startIndex, int endIndex) : Denne metode returnerer antallet af Unicode-kodepunkter i det angivne tekstområde i denne sekvens. IntStream codePoints() : Denne metode returnerer en strøm af kodepunktværdier fra denne sekvens.
- StringBuilder slet (int start, int slut) : Denne metode fjerner tegnene i en understreng af denne sekvens. StringBuilder deleteCharAt(int index) : Denne metode fjerner char på den angivne position i denne sekvens.
- void sureCapacity(int minimumCapacity) : Denne metode sikrer, at kapaciteten mindst er lig med det angivne minimum.
- void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) : Denne metodes tegn kopieres fra denne sekvens til destinationstegnarrayet dst.
- int indexOf() : Denne metode returnerer indekset i denne streng for den første forekomst af den angivne understreng. StringBuilder insert(int offset, boolesk b) : Denne metode indsætter strengrepræsentationen af det booleske alternative argument i denne sekvens. StringBuilder insert() : Denne metode indsætter strengrepræsentationen af char-argumentet i denne sekvens.
- int lastIndexOf() : Denne metode returnerer indekset i denne streng for den sidste forekomst af den angivne understreng.
- int længde() : Denne metode returnerer længden (antal tegn). int offsetByCodePoints(int index, int codePointOffset) : Denne metode returnerer indekset inden for denne sekvens, der er forskudt fra det givne indeks med codePointOffset kodepunkter.
- StringBuilder replace(int start, int end, String str) : Denne metode erstatter tegnene i en understreng af denne sekvens med tegn i den angivne streng.
- StringBuilder reverse() : Denne metode får denne tegnsekvens til at blive erstattet af den omvendte sekvens.
- void setCharAt(int index, char ch) : I denne metode er tegnet ved det angivne indeks sat til ch.
- void setLength(int newLength) : Denne metode indstiller længden af tegnsekvensen.
- CharSequence subSequence(int start, int end) : Denne metode returnerer en ny tegnsekvens, der er en undersekvens af denne sekvens.
- String substring() : Denne metode returnerer en ny streng, der indeholder en undersekvens af tegn, der i øjeblikket er indeholdt i denne tegnsekvens.
- String toString() : Denne metode returnerer en streng, der repræsenterer dataene i denne sekvens.
- void trimToSize() : Denne metode forsøger at reducere lagerplads, der bruges til tegnsekvensen.
Eksempel:
Java
snor i c
// 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);> >}> }> |
>
>
download youtube video vlcProduktion
String = AAAABBBCCCC Reverse String = CCCCBBBAAAA Modified StringBuilder = CCCCBBBAAAA, StringBuilder = CCCCBBBAAAA, Capacity of StringBuilder = 27>
StringBuilder er en anden klasse i Java, der bruges til at manipulere strenge. Ligesom StringBuffer er det en foranderlig klasse, der giver dig mulighed for at ændre indholdet af den streng, den repræsenterer. StringBuilder er dog ikke trådsikker, så den bør ikke bruges i et multi-threaded miljø.
Her er nogle eksempler på, hvordan man bruger StringBuilder i Java:
Java
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'> >}> }> |
starter med java
>
>Produktion
Hello world! Hello beautiful world! !dlrow lufituaeb olleH>