1. Endre strenger
I Java er strenger uforanderlige objekter. Dette ble gjort for å gjøre String-klassen svært optimalisert og for å la den brukes overalt. For eksempel anbefales bare uforanderlige typer for bruk som nøkler i HashMap-samlingen .
Imidlertid oppstår det ofte situasjoner når programmerere vil finne det mer praktisk for String
klassen å være foranderlig. De vil ha en klasse som ikke lager en ny understreng hver gang en av metodene kalles.
Vel, anta at vi har en veldig stor streng og at vi ofte må legge til noe på slutten av den. I dette tilfellet kan til og med en samling av tegn ( ArrayList<Character>
) være mer effektiv enn å konstant gjenskape og sette sammen strengobjekter.
Det er nettopp derfor en strenglignende type som kan endres ble lagt til Java-språket. Det kalles StringBuilder
.
Opprette et objekt
For å lage et StringBuilder
objekt basert på en eksisterende streng, må du utføre en setning som:
StringBuilder name = new StringBuilder(string);
For å lage en tom mutbar streng, må du bruke en setning som denne:
StringBuilder name = new StringBuilder();
Liste over metoder
Klassen StringBuilder
har to dusin nyttige metoder. Her er de viktigste:
Metode | Beskrivelse |
---|---|
|
Konverterer det beståtte objektet til en streng og legger det til gjeldende streng |
|
Konverterer det beståtte objektet til en streng og setter det inn i gjeldende streng |
|
Erstatter delen av strengen spesifisert av start..end-intervallet med den beståtte strengen |
|
Fjerner tegnet med den angitte indeksen fra strengen |
|
Fjerner tegn innenfor det angitte intervallet fra strengen |
|
Søker etter en understreng i gjeldende streng |
|
Søker etter en understreng i gjeldende streng, med start fra slutten |
|
Returnerer tegnet i strengen ved den beståtte indeksen |
|
Returnerer delstrengen definert av det angitte intervallet |
|
Reverserer gjeldende streng. |
|
Endrer tegnet ved den angitte indeksen til det beståtte tegnet |
|
Returnerer lengden på strengen i tegn |
Her er en kort beskrivelse av hver metode
2. Beskrivelse av metoder:
Legger til en streng
For å legge til noe i en mutbar streng ( StringBuilder
), bruk append()
metoden. Eksempel:
Kode | Beskrivelse |
---|---|
|
|
Konvertering til en standardstreng
For å konvertere et StringBuilder
objekt til et String-objekt, trenger du bare å kalle metoden toString()
. Eksempel
Kode | Produksjon |
---|---|
|
|
Hvordan sletter jeg et tegn?
For å slette et tegn i en foranderlig streng, må du bruke deleteCharAt()
metoden. Eksempel:
Kode | Produksjon |
---|---|
|
|
Hvordan erstatter jeg en del av en streng med en annen streng?
For dette finnes replace(int begin, int end, String str)
metoden. Eksempel:
Kode | Produksjon |
---|---|
|
|
3. Nyttige eksempler på arbeid med strenger
Hvordan snur jeg en streng?
Det er en spesiell metode for å gjøre dette — reverse()
; Eksempel:
Kode | Produksjon |
---|---|
|
|
StringBuffer
klasse
Det er en annen klasse - StringBuffer, som er en analog av StringBuilder
klassen, men metodene er merket med synchronized
modifikatoren. Det betyr at StringBuffer
objektet kan nås samtidig fra flere tråder.
Men det er mye tregere enn StringBuilder
. Du kan trenge denne klassen når du begynner å aktivt utforske multithreading i Java Multithreading- oppdraget.