De java.util.StringTokenizer Met class kun je een string in tokens opsplitsen. Het is een eenvoudige manier om een string te verbreken. Het is een oudere klasse van Java.
Het biedt niet de mogelijkheid om onderscheid te maken tussen getallen, tekenreeksen tussen aanhalingstekens, identificatiegegevens enz. zoals de StreamTokenizer-klasse. We zullen de klasse StreamTokenizer bespreken in het I/O-hoofdstuk.
In de klasse StringTokenizer kunnen de scheidingstekens worden opgegeven op het moment dat ze worden gemaakt, of één voor één aan de tokens.
Constructeurs van de StringTokenizer-klasse
Er zijn 3 constructors gedefinieerd in de StringTokenizer-klasse.
Constructeur | Beschrijving |
---|---|
StringTokenizer(Stringstr) | Het creëert StringTokenizer met een gespecificeerde string. |
StringTokenizer(String str, String scheidingsteken) | Er wordt een StringTokenizer gemaakt met een opgegeven tekenreeks en scheidingsteken. |
StringTokenizer(String str, String scheidingsteken, booleaanse returnValue) | Het creëert StringTokenizer met gespecificeerde string, scheidingsteken en returnValue. Als de retourwaarde waar is, worden scheidingstekens beschouwd als tokens. Als het niet waar is, dienen scheidingstekens om tokens van elkaar te scheiden. |
Methoden van de StringTokenizer-klasse
De zes nuttige methoden van de klasse StringTokenizer zijn als volgt:
Methoden | Beschrijving |
---|---|
booleaanse hasMoreTokens() | Er wordt gecontroleerd of er meer tokens beschikbaar zijn. |
Tekenreeks nextToken() | Het retourneert het volgende token van het StringTokenizer-object. |
Tekenreeks nextToken(tekenreeksscheidingsteken) | Het retourneert het volgende token op basis van het scheidingsteken. |
booleaanse hasMoreElements() | Het is hetzelfde als de methode hasMoreTokens(). |
Object volgendeElement() | Het is hetzelfde als nextToken(), maar het retourneringstype is Object. |
int countTokens() | Het retourneert het totale aantal tokens. |
Voorbeeld van StringTokenizer-klasse
Laten we een voorbeeld bekijken van de klasse StringTokenizer die een string tokeniseert 'mijn naam is khan' op basis van witruimte.
Simpel.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()); } } }
Uitgang:
my name is khan
De bovenstaande Java-code demonstreert het gebruik van de klasse StringTokenizer en zijn methoden hasMoreTokens() en nextToken().
Voorbeeld van de methode nextToken(String delim) van de klasse 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(',')); } }
Uitgang:
Next token is : my
Opmerking: de klasse StringTokenizer is nu verouderd. Het wordt aanbevolen om de methode split() van de klasse String of de klasse Pattern te gebruiken die bij het pakket java.util.regex hoort.
Voorbeeld van de methode hasMoreTokens() van de klasse StringTokenizer
Deze methode retourneert true als er meer tokens beschikbaar zijn in de tokenizer String en retourneert anders false.
javafx-tutorial
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()); } } }
Uitgang:
Demonstrating methods from StringTokenizer class
Het bovenstaande Java-programma toont het gebruik van twee methoden hasMoreTokens() en nextToken() van de klasse StringTokenizer.
Voorbeeld van de methode hasMoreElements() van de klasse StringTokenizer
Deze methode retourneert dezelfde waarde als de methode hasMoreTokens() van de klasse StringTokenizer. Het enige verschil is dat deze klasse de Enumeration-interface kan implementeren.
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()); } } }
Uitgang:
Hello everyone I am a Java developer
De bovenstaande code demonstreert het gebruik van de hasMoreElements() -methode.
Voorbeeld van de methode nextElement() van de klasse StringTokenizer
nextElement() retourneert het volgende tokenobject in de tokenizer String. Het kan de Opsommingsinterface implementeren.
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()); } } }
Uitgang:
niet-ondertekende int c-programmering
Hello Everyone Have a nice day
De bovenstaande code demonstreert het gebruik van de nextElement()-methode.
Voorbeeld van de methode countTokens() van de klasse StringTokenizer
Deze methode berekent het aantal tokens dat aanwezig is in de tokenizer String.
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()); } }
Uitgang:
Total number of Tokens: 6
De bovenstaande Java-code demonstreert de countTokens()-methode van de StringTokenizer()-klasse.