1. Ändra strängar
I Java är strängar oföränderliga objekt. Detta gjordes för att göra String-klassen mycket optimerad och för att den skulle kunna användas överallt. Till exempel rekommenderas endast oföränderliga typer för användning som nycklar i HashMap-samlingen .
Men situationer uppstår ofta när programmerare skulle tycka att det är bekvämare för String
klassen att vara föränderlig. De vill ha en klass som inte skapar en ny delsträng varje gång en av dess metoder anropas.
Tja, anta att vi har en mycket stor sträng och att vi ofta behöver lägga till något i slutet av den. I det här fallet kan även en samling tecken ( ArrayList<Character>
) vara effektivare än att ständigt återskapa och sammanfoga strängobjekt.
Det är just därför en String-liknande typ som kan ändras lades till Java-språket. Det kallas StringBuilder
.
Skapa ett objekt
För att skapa ett StringBuilder
objekt baserat på en befintlig sträng måste du köra en sats som:
StringBuilder name = new StringBuilder(string);
För att skapa en tom föränderlig sträng, måste du använda ett uttalande så här:
StringBuilder name = new StringBuilder();
Lista över metoder
Klassen StringBuilder
har två dussin användbara metoder. Här är de viktigaste:
Metod | Beskrivning |
---|---|
|
Konverterar det skickade objektet till en sträng och lägger till det i den aktuella strängen |
|
Konverterar det skickade objektet till en sträng och infogar det i den aktuella strängen |
|
Ersätter den del av strängen som anges av start..end-intervallet med den skickade strängen |
|
Tar bort tecknet med det angivna indexet från strängen |
|
Tar bort tecken inom det angivna intervallet från strängen |
|
Söker efter en delsträng i den aktuella strängen |
|
Söker efter en delsträng i den aktuella strängen, med början från slutet |
|
Returnerar tecknet i strängen vid det godkända indexet |
|
Returnerar delsträngen som definieras av det angivna intervallet |
|
Reverserar den aktuella strängen. |
|
Ändrar tecknet vid det angivna indexet till det godkända tecknet |
|
Returnerar längden på strängen i tecken |
Här är en kort beskrivning av varje metod
2. Beskrivning av metoder:
Lägger till en sträng
För att lägga till något till en föränderlig sträng ( StringBuilder
), använd append()
metoden. Exempel:
Koda | Beskrivning |
---|---|
|
|
Konvertera till en standardsträng
För att konvertera ett StringBuilder
objekt till ett String-objekt behöver du bara anropa dess toString()
metod. Exempel
Koda | Produktion |
---|---|
|
|
Hur tar jag bort en karaktär?
För att ta bort ett tecken i en föränderlig sträng måste du använda deleteCharAt()
metoden. Exempel:
Koda | Produktion |
---|---|
|
|
Hur ersätter jag en del av en sträng med en annan sträng?
För detta finns replace(int begin, int end, String str)
metoden. Exempel:
Koda | Produktion |
---|---|
|
|
3. Användbara exempel på att arbeta med strängar
Hur vänder jag en sträng?
Det finns en speciell metod för att göra detta — reverse()
; Exempel:
Koda | Produktion |
---|---|
|
|
StringBuffer
klass
Det finns en annan klass — StringBuffer, som är en analog till klassen, StringBuilder
men dess metoder är markerade med synchronized
modifieraren. Det betyder att StringBuffer
objektet kan nås samtidigt från flera trådar.
Men det är mycket långsammare än StringBuilder
. Du kan behöva den här klassen när du börjar aktivt utforska multithreading i Java Multithreading -uppdraget.
GO TO FULL VERSION