De java.util.StringTokenizer klass låter dig bryta en sträng i tokens. Det är enkelt sätt att bryta en sträng. Det är en äldre klass av Java.
Det ger inte möjlighet att särskilja siffror, citerade strängar, identifierare etc. som StreamTokenizer-klassen. Vi kommer att diskutera StreamTokenizer-klassen i I/O-kapitlet.
I StringTokenizer-klassen kan avgränsningarna tillhandahållas vid skapandet eller en efter en till tokens.
Konstruktörer av StringTokenizer-klassen
Det finns 3 konstruktorer definierade i StringTokenizer-klassen.
Konstruktör | Beskrivning |
---|---|
StringTokenizer(String str) | Det skapar StringTokenizer med specificerad sträng. |
StringTokenizer(String str, String delim) | Den skapar StringTokenizer med specificerad sträng och avgränsare. |
StringTokenizer(String str, String delim, boolean returnValue) | Den skapar StringTokenizer med specificerad sträng, avgränsare och returnValue. Om returvärdet är sant anses avgränsningstecken vara tokens. Om det är falskt tjänar avgränsningstecken till att separera tokens. |
Metoder för StringTokenizer-klassen
De sex användbara metoderna för StringTokenizer-klassen är följande:
Metoder | Beskrivning |
---|---|
boolean hasMoreTokens() | Den kontrollerar om det finns fler tokens tillgängliga. |
String nextToken() | Den returnerar nästa token från StringTokenizer-objektet. |
String nextToken(String delim) | Den returnerar nästa token baserat på avgränsaren. |
boolean hasMoreElements() | Det är samma som hasMoreTokens()-metoden. |
Object nextElement() | Det är samma som nextToken() men dess returtyp är Object. |
int countTokens() | Den returnerar det totala antalet tokens. |
Exempel på StringTokenizer Class
Låt oss se ett exempel på StringTokenizer-klassen som tokeniserar en sträng 'mitt namn är khan' på basis av blanksteg.
javascript utskrift
Simple.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()); } } }
Produktion:
my name is khan
Ovanstående Java-kod demonstrerar användningen av StringTokenizer-klassen och dess metoder hasMoreTokens() och nextToken().
Exempel på metoden nextToken(String delim) för klassen StringTokenizer
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(',')); } }
Produktion:
Next token is : my
Obs: StringTokenizer-klassen är utfasad nu. Det rekommenderas att använda split()-metoden för String-klassen eller Pattern-klassen som tillhör paketet java.util.regex.
Exempel på metoden hasMoreTokens() för klassen StringTokenizer
Denna metod returnerar true om fler tokens finns tillgängliga i tokenizer String annars returnerar false.
StringTokenizer1.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()); } } }
Produktion:
Demonstrating methods from StringTokenizer class
Ovanstående Java-program visar användningen av två metoder hasMoreTokens() och nextToken() av StringTokenizer-klassen.
Exempel på metoden hasMoreElements() för klassen StringTokenizer
Denna metod returnerar samma värde som hasMoreTokens()-metoden för StringTokenizer-klassen. Den enda skillnaden är att denna klass kan implementera uppräkningsgränssnittet.
karta vs set
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()); } } }
Produktion:
Hello everyone I am a Java developer
Ovanstående kod visar användningen av hasMoreElements()-metoden.
Exempel på metoden nextElement() för klassen StringTokenizer
nextElement() returnerar nästa token-objekt i tokenizer-strängen. Det kan implementera uppräkningsgränssnitt.
StringTokenizer3.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()); } } }
Produktion:
Hello Everyone Have a nice day
Ovanstående kod visar användningen av metoden nextElement().
Exempel på metoden countTokens() för klassen StringTokenizer
Denna metod beräknar antalet tokens som finns i tokenizer-strängen.
StringTokenizer4.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()); } }
Produktion:
Total number of Tokens: 6
Ovanstående Java-kod demonstrerar metoden countTokens() för klassen StringTokenizer().