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 Stringklassen å 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 StringBuilderobjekt 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 StringBuilderhar 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 StringBuilderobjekt 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 |
|---|---|
|
|
StringBufferklasse
Det er en annen klasse - StringBuffer, som er en analog av StringBuilderklassen, men metodene er merket med synchronizedmodifikatoren. Det betyr at StringBufferobjektet 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.
GO TO FULL VERSION