String1. 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 Stringosztály az egyetlen olyan osztály a primitív típusokon kívül, amelyek literáljai használhatók egy switchutasításban; a fordító speciális módon kezeli a karakterlánc-összeadást és a String objektumokat; Stringaz objektumok különleges módon tárolódnak a memóriában. Alapvetően az Stringosztály egy nagyon különleges osztály.
Ezenkívül az Stringosztá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 Stringosztály szervezetétől.
Karakterek tömbje
Az Stringosztá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 Stringosztá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.
String2. Az óra módszerei
Az Stringosztá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