1. Karakterláncok módosítása
A Java nyelvben a karakterláncok megváltoztathatatlan objektumok. Ezt azért tették, hogy a String osztályt rendkívül optimalizálttá tegyék, és mindenhol lehessen használni. Például a HashMap gyűjtemény kulcsaként csak a megváltoztathatatlan típusokat javasoljuk használni .
Azonban gyakran előfordulnak olyan helyzetek, amikor a programozók kényelmesebbnek találják, ha az String
osztály változtatható. Olyan osztályt akarnak, amely nem hoz létre minden egyes metódus meghívásakor új részkarakterláncot.
Nos, tegyük fel, hogy nagyon nagy karakterláncunk van, és gyakran hozzá kell adnunk valamit a végéhez. Ebben az esetben még a karakterek gyűjteménye ( ArrayList<Character>
) is hatékonyabb lehet, mint a String objektumok folyamatos újraalkotása és összefűzése.
Pontosan ezért került a Java nyelvbe egy megváltoztatható karakterlánc-szerű típus. Úgy hívják StringBuilder
.
Objektum létrehozása
Ha egy meglévő karakterlánc alapján szeretne objektumot létrehozni StringBuilder
, akkor végre kell hajtania egy utasítást, például:
StringBuilder name = new StringBuilder(string);
Üres változtatható karakterlánc létrehozásához egy ehhez hasonló utasítást kell használnia:
StringBuilder name = new StringBuilder();
A módszerek listája
Az StringBuilder
osztályban két tucat hasznos módszer található. Íme a legfontosabbak:
Módszer | Leírás |
---|---|
|
Az átadott objektumot karakterláncsá alakítja, és hozzáfűzi az aktuális karakterlánchoz |
|
Az átadott objektumot karakterláncsá alakítja, és beilleszti az aktuális karakterláncba |
|
Lecseréli a karakterlánc kezdő..vége intervallum által megadott részét az átadott karakterláncra |
|
Eltávolítja a karakterláncból a megadott indexű karaktert |
|
Eltávolítja a karakterláncból a megadott intervallumon belüli karaktereket |
|
Alkarakterláncot keres az aktuális karakterláncban |
|
Egy részkarakterláncot keres az aktuális karakterláncban, a végétől kezdve |
|
Az átadott indexnél lévő karakterlánc karakterét adja vissza |
|
A megadott intervallum által meghatározott részkarakterláncot adja vissza |
|
Megfordítja az aktuális karakterláncot. |
|
A megadott indexben lévő karaktert átadott karakterre változtatja |
|
A karakterlánc hosszát adja vissza karakterben |
Itt található az egyes módszerek rövid leírása
2. A módszerek leírása:
Hozzáfűzés egy karakterlánchoz
Ha hozzá szeretne adni valamit egy változó karakterlánchoz ( StringBuilder
), használja a append()
metódust. Példa:
Kód | Leírás |
---|---|
|
|
Konvertálás szabványos karakterláncra
StringBuilder
Ahhoz, hogy egy objektumot String objektummá konvertáljon , csak meg kell hívnia toString()
a metódusát. Példa
Kód | Kimenet |
---|---|
|
|
Hogyan törölhetek egy karaktert?
Egy karakter törléséhez egy változó karakterláncban a deleteCharAt()
metódust kell használnia. Példa:
Kód | Kimenet |
---|---|
|
|
Hogyan cserélhetem ki egy karakterlánc egy részét egy másik karakterláncra?
Erre megvan a replace(int begin, int end, String str)
módszer. Példa:
Kód | Kimenet |
---|---|
|
|
3. Hasznos példák a húrokkal való munkára
Hogyan fordíthatok meg egy karakterláncot?
Van erre egy speciális módszer — reverse()
; Példa:
Kód | Kimenet |
---|---|
|
|
StringBuffer
osztály
Van egy másik osztály — a StringBuffer, amely az osztály analógja StringBuilder
, de metódusai a synchronized
módosítóval vannak megjelölve. Ez azt jelenti, hogy az StringBuffer
objektum egyszerre több szálból is elérhető.
De sokkal lassabb, mint StringBuilder
. Szükség lehet erre az osztályra, amikor elkezdi aktívan felfedezni a többszálú Java Multithreading küldetést.
GO TO FULL VERSION