A java.util.StringTokenizer osztály lehetővé teszi, hogy egy karakterláncot tokenekre bontson. Ez egy egyszerű módja a karakterlánc megszakításának. Ez a Java örökölt osztálya.
Nem teszi lehetővé a számok, idézőjeles karakterláncok, azonosítók stb. megkülönböztetését, mint például a StreamTokenizer osztály. A StreamTokenenizer osztályról az I/O fejezetben fogunk beszélni.
A StringTokenenizer osztályban a határolók megadhatók a létrehozáskor vagy egyenként a tokenekhez.
A StringTokenenizer osztály konstruktőrei
A StringTokenenizer osztályban 3 konstruktor van definiálva.
térkép iterálása java-ban
Konstruktőr | Leírás |
---|---|
StringTokenizer (String str) | Létrehozza a StringTokenenizert a megadott karakterlánccal. |
StringTokenizer (String str, String delim) | Létrehozza a StringTokenenizer-t megadott karakterlánccal és határolóval. |
StringTokenizer (String str, String delim, Boolean returnValue) | Létrehozza a StringTokenenizert megadott karakterlánccal, határolóval és returnValue értékkel. Ha a visszatérési érték igaz, akkor a határoló karakterek tokennek minősülnek. Ha hamis, a határoló karakterek a tokenek elválasztására szolgálnak. |
A StringTokenenizer osztály módszerei
A StringTokenenizer osztály hat hasznos metódusa a következő:
Mód | Leírás |
---|---|
Boolean hasMoreTokens() | Ellenőrzi, hogy van-e több token. |
String nextToken() | Visszaadja a következő tokent a StringTokenenizer objektumból. |
String nextToken (String delim) | A következő tokent adja vissza a határoló alapján. |
logikai érték több elemet tartalmaz() | Ez ugyanaz, mint a hasMoreTokens() metódus. |
Object nextElement() | Ez ugyanaz, mint a nextToken(), de a visszatérési típusa Object. |
int countTokens() | A tokenek teljes számát adja vissza. |
Példa a StringTokenenizer osztályra
Lássunk egy példát a StringTokenenizer osztályra, amely szóköz alapján tokenizálja a 'nevem khan' karakterláncot.
Egyszerű.java
import java.util.StringTokenizer; public class Simple{ public static void main(String args[]){ StringTokenizer st = new StringTokenizer('my name is khan',' '); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Kimenet:
my name is khan
A fenti Java-kód bemutatja a StringTokenizer osztály használatát és a hasMoreTokens() és nextToken() metódusait.
Példa a StringTokenizer osztály nextToken(String delim) metódusára
Test.java
import java.util.*; public class Test { public static void main(String[] args) { StringTokenizer st = new StringTokenizer('my,name,is,khan'); // printing next token System.out.println('Next token is : ' + st.nextToken(',')); } }
Kimenet:
Next token is : my
Megjegyzés: A StringTokenenizer osztály már elavult. Javasoljuk a String osztály split() metódusát vagy a java.util.regex csomaghoz tartozó Pattern osztályt használni.
Példa a StringTokenizer osztály hasMoreTokens() metódusára
Ez a metódus igazat ad vissza, ha több token áll rendelkezésre a tokenizátorban, ellenkező esetben hamis értéket ad vissza.
StringTokenenizer1.java
import java.util.StringTokenizer; public class StringTokenizer1 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Demonstrating methods from StringTokenizer class',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
Kimenet:
Demonstrating methods from StringTokenizer class
A fenti Java program a StringTokenizer osztály két hasMoreTokens() és nextToken() metódusának használatát mutatja be.
Példa a StringTokenenizer osztály hasMoreElements() metódusára
Ez a metódus ugyanazt az értéket adja vissza, mint a StringTokenizer osztály hasMoreTokens() metódusa. Az egyetlen különbség az, hogy ez az osztály képes megvalósítani a felsorolási felületet.
StringTokenizer2.java
import java.util.StringTokenizer; public class StringTokenizer2 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer('Hello everyone I am a Java developer',' '); while (st.hasMoreElements()) { System.out.println(st.nextToken()); } } }
Kimenet:
Hello everyone I am a Java developer
A fenti kód a hasMoreElements() metódus használatát mutatja be.
Példa a StringTokenenizer osztály nextElement() metódusára
A nextElement() a következő token objektumot adja vissza a tokenizáló karakterláncban. Meg tudja valósítani a felsorolási felületet.
StringTokenenizer3.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { /* Prints the elements from the String */ System.out.println(st.nextElement()); } } }
Kimenet:
Hello Everyone Have a nice day
A fenti kód a nextElement() metódus használatát mutatja be.
Példa a StringTokenizer osztály countTokens() metódusára
Ez a módszer kiszámítja a tokenizáló karakterláncban található tokenek számát.
StringTokenenizer4.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Prints the number of tokens present in the String */ System.out.println('Total number of Tokens: '+st.countTokens()); } }
Kimenet:
Total number of Tokens: 6
A fenti Java kód a StringTokenizer() osztály countTokens() metódusát mutatja be.