String
1. Az osztály felépítése
Ma az osztályról fogunk beszélni String
. Az ints után a String osztály a legnépszerűbb osztály a Java nyelven. Abszolút mindenhol használják. Van egy csomó hasznos módszer, amelyeket jobb, ha ismer.
Az String
osztály az egyetlen olyan osztály a primitív típusokon kívül, amelyek literáljai használhatók egy switch
utasításban; a fordító speciális módon kezeli a karakterlánc-összeadást és a String objektumokat; String
az objektumok különleges módon tárolódnak a memóriában. Alapvetően az String
osztály egy nagyon különleges osztály.
Ezenkívül az String
osztálynak van egy csomó segédosztálya, amelyek célja a karakterláncokkal való munka további egyszerűsítése Java nyelven. Ha mindezt megtanulod, sok mindent könnyebben meg tudsz csinálni. Nos, kezdjük ennek az ökoszisztémának a magjától – az String
osztály szervezetétől.
Karakterek tömbje
Az String
osztály felépítése valójában nagyon egyszerű: benne van egy karaktertömb (char array), amely a sztring összes karakterét tárolja. Például a „Hello” szó tárolása így történik:
Valójában ez nem egészen pontos. Mivel az String
osztály nagyon fontos, rengeteg optimalizálást használ, és az adatokat belsőleg nem karaktertömbként, hanem egyszerűen bájttömbként tárolják.
String
2. Az óra módszerei
Az String
osztálynak nagyon sok metódusa van: csak 18 konstruktora van! Az alábbiakban tehát csak a legalapvetőbbeket említjük meg:
Mód | Leírás |
---|---|
|
A karakterláncban lévő karakterek számát adja vissza |
|
Ellenőrzi, hogy a karakterlánc üres-e |
|
Ellenőrzi, hogy a karakterlánc csak szóköz karaktereket tartalmaz-e: szóköz, tabulátor, új sor stb. |
|
A karakterlánc indexpozíciójában lévő karaktert adja vissza. |
|
A karakterláncot alkotó karakterek tömbjét (másolatát) adja vissza |
|
Egy karakterláncot bájtok halmazává alakít, és visszaadja a bájtok tömbjét. |
|
Egy karakterláncot több részkarakterláncra oszt fel. |
|
Több részkarakterláncot egyesít |
|
Egy karakterláncot helyez a string pool . |
A konstruktorokról a Java konstruktorok című cikkben tudhat meg többet .
Írjunk egy programot, amely a fájl elérési útját Unix stílusról Windows stílusra konvertálja. A Unix a karaktert használja /
a mappák elválasztására, míg a Windows a \
karaktert.
1. megoldás: char tömb használata
Kód | Megjegyzések |
---|---|
|
Lapolvasó objektum létrehozása Sor olvasása a konzolról Karaktertömb átalakítása Karaktertömbbé Karakterek áthurkolása Ha a karakter az / , cserélje ki a karakterrel \ . Ne felejtsd el a menekülést. Hozzon létre egy új karakterláncot a karaktertömb alapján. Jelenítse meg a karakterláncot. |
2. megoldás: — a split()
és join()
módszerekkel
Kód | Megjegyzések |
---|---|
|
Szkenner objektum létrehozása Olvasson be egy sort a konzolról Karakterlánc konvertálása karakterláncok tömbjévé . A / karaktert elválasztóként használják (a további két perjel dupla kilépés eredménye). Összefűzze a karakterláncok tömbjében lévő összes karakterláncot . A -t \ elválasztóként használják (úgy látjuk, hogy megszökött). Jelenítse meg a karakterláncot. |
3. megoldás:replace(char oldChar, char newChar)
– a módszer segítségével
Kód | Megjegyzések |
---|---|
|
Szkenner objektum létrehozása Sor olvasása a konzolról Egyszerűen cserélje ki az egyik karaktert egy másikra (a második kihagyott) Jelenítse meg a karakterláncot. |
GO TO FULL VERSION