El java.util.StringTokenizer La classe us permet dividir una cadena en fitxes. És una manera senzilla de trencar una cadena. És una classe heretada de Java.
No ofereix la possibilitat de diferenciar números, cadenes entre cometes, identificadors, etc. com la classe StreamTokenizer. Parlarem sobre la classe StreamTokenizer al capítol d'E/S.
A la classe StringTokenizer, els delimitadors es poden proporcionar en el moment de la creació o un per un als fitxes.
definir ordinador
Constructors de la classe StringTokenizer
Hi ha 3 constructors definits a la classe StringTokenizer.
Constructor | Descripció |
---|---|
StringTokenizer (String str) | Crea StringTokenizer amb una cadena especificada. |
StringTokenizer (String str, String delim) | Crea StringTokenizer amb una cadena i un delimitador especificats. |
StringTokenizer (String str, String delim, boolean returnValue) | Crea StringTokenizer amb una cadena, un delimitador i un valor de retorn especificats. Si el valor de retorn és cert, els caràcters delimitadors es consideren testimonis. Si és fals, els caràcters delimitadors serveixen per separar fitxes. |
Mètodes de la classe StringTokenizer
Els sis mètodes útils de la classe StringTokenizer són els següents:
Mètodes | Descripció |
---|---|
booleà hasMoreTokens() | Comprova si hi ha més fitxes disponibles. |
String nextToken() | Retorna el següent testimoni de l'objecte StringTokenizer. |
String nextToken(String delim) | Retorna el següent testimoni basat en el delimitador. |
booleà hasMoreElements() | És el mateix que el mètode hasMoreTokens(). |
Objecte nextElement() | És el mateix que nextToken() però el seu tipus de retorn és Object. |
int countTokens() | Retorna el nombre total de fitxes. |
Exemple de classe StringTokenizer
Vegem un exemple de la classe StringTokenizer que tokenitza una cadena 'el meu nom és khan' a partir d'espais en blanc.
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()); } } }
Sortida:
my name is khan
El codi Java anterior demostra l'ús de la classe StringTokenizer i els seus mètodes hasMoreTokens() i nextToken().
Exemple del mètode nextToken(String delim) de la classe 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(',')); } }
Sortida:
Next token is : my
Nota: ara la classe StringTokenizer està obsoleta. Es recomana utilitzar el mètode split() de la classe String o la classe Pattern que pertany al paquet java.util.regex.
Exemple del mètode hasMoreTokens() de la classe StringTokenizer
Aquest mètode retorna true si hi ha més fitxes disponibles a la cadena del tokenizer, en cas contrari retorna 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()); } } }
Sortida:
any que es va inventar l'ordinador
Demonstrating methods from StringTokenizer class
El programa Java anterior mostra l'ús de dos mètodes hasMoreTokens() i nextToken() de la classe StringTokenizer.
Exemple del mètode hasMoreElements() de la classe StringTokenizer
Aquest mètode retorna el mateix valor que el mètode hasMoreTokens() de la classe StringTokenizer. L'única diferència és que aquesta classe pot implementar la interfície d'enumeració.
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()); } } }
Sortida:
Hello everyone I am a Java developer
El codi anterior demostra l'ús del mètode hasMoreElements().
Exemple del mètode nextElement() de la classe StringTokenizer
nextElement() retorna el següent objecte testimoni a la cadena del tokenizer. Pot implementar la interfície d'enumeració.
StringTokenizer3.java
tutorial del llenguatge de programació 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()); } } }
Sortida:
Hello Everyone Have a nice day
El codi anterior demostra l'ús del mètode nextElement().
Exemple del mètode countTokens() de la classe StringTokenizer
Aquest mètode calcula el nombre de fitxes presents a la cadena del tokenizer.
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()); } }
Sortida:
Total number of Tokens: 6
El codi Java anterior mostra el mètode countTokens() de la classe StringTokenizer().