1. Strings wijzigen
In Java zijn strings onveranderlijke objecten. Dit is gedaan om de String-klasse zeer geoptimaliseerd te maken en ervoor te zorgen dat deze overal kan worden gebruikt. Alleen onveranderlijke typen worden bijvoorbeeld aanbevolen voor gebruik als sleutels in de HashMap-verzameling .
Er doen zich echter vaak situaties voor waarin programmeurs het handiger vinden als de String
klasse veranderlijk is. Ze willen een klasse die niet elke keer dat een van zijn methoden wordt aangeroepen een nieuwe subtekenreeks maakt.
Stel dat we een heel grote string hebben en dat we er regelmatig iets aan moeten toevoegen. In dit geval kan zelfs een verzameling tekens ( ArrayList<Character>
) efficiënter zijn dan het constant opnieuw maken en samenvoegen van String-objecten.
Dat is precies de reden waarom een String-achtig type dat kan worden gewijzigd, aan de Java-taal is toegevoegd. Het wordt genoemd StringBuilder
.
Een voorwerp maken
Om een StringBuilder
object te maken op basis van een bestaande string, moet u een instructie uitvoeren zoals:
StringBuilder name = new StringBuilder(string);
Om een lege veranderlijke tekenreeks te maken, moet u een instructie als deze gebruiken:
StringBuilder name = new StringBuilder();
Lijst met methoden
De StringBuilder
klas heeft twee dozijn nuttige methoden. Dit zijn de belangrijkste:
Methode | Beschrijving |
---|---|
|
Converteert het doorgegeven object naar een string en voegt deze toe aan de huidige string |
|
Converteert het doorgegeven object naar een string en voegt deze in de huidige string in |
|
Vervangt het deel van de tekenreeks dat wordt opgegeven door het start..end-interval door de doorgegeven tekenreeks |
|
Verwijdert het teken met de opgegeven index uit de tekenreeks |
|
Verwijdert tekens binnen het opgegeven interval uit de tekenreeks |
|
Zoekt naar een subtekenreeks in de huidige tekenreeks |
|
Zoekt naar een subtekenreeks in de huidige tekenreeks, beginnend vanaf het einde |
|
Retourneert het teken in de tekenreeks bij de doorgegeven index |
|
Retourneert de subtekenreeks die is gedefinieerd door het opgegeven interval |
|
Keert de huidige tekenreeks om. |
|
Verandert het teken op de gespecificeerde index in het doorgegeven teken |
|
Retourneert de lengte van de tekenreeks in tekens |
Hier is een korte beschrijving van elke methode
2. Beschrijving van methoden:
Toevoegen aan een string
Gebruik de methode om iets toe te voegen aan een veranderlijke string ( StringBuilder
) append()
. Voorbeeld:
Code | Beschrijving |
---|---|
|
|
Converteren naar een standaard string
Om een StringBuilder
object naar een String-object te converteren, hoef je alleen maar de toString()
methode ervan aan te roepen. Voorbeeld
Code | Uitgang |
---|---|
|
|
Hoe verwijder ik een personage?
Om een karakter in een veranderlijke string te verwijderen, moet je de methode gebruiken deleteCharAt()
. Voorbeeld:
Code | Uitgang |
---|---|
|
|
Hoe vervang ik een deel van een string door een andere string?
Hiervoor is er de replace(int begin, int end, String str)
methode. Voorbeeld:
Code | Uitgang |
---|---|
|
|
3. Handige voorbeelden van het werken met strings
Hoe keer ik een string om?
Er is een speciale methode om dit te doen — reverse()
; Voorbeeld:
Code | Uitgang |
---|---|
|
|
StringBuffer
klas
Er is nog een klasse — StringBuffer, die een analoog is van de StringBuilder
klasse, maar de methoden zijn gemarkeerd met de synchronized
modifier. Het betekent dat het StringBuffer
object tegelijkertijd toegankelijk is vanuit meerdere threads.
Maar het is veel langzamer dan StringBuilder
. Je hebt deze klasse mogelijk nodig wanneer je multithreading actief gaat verkennen in de Java Multithreading- zoektocht.
GO TO FULL VERSION