StringTokenizer in Java

StringTokenizer in Java
  1. StringTokenizer
  2. Metodi di StringTokenizer
  3. Esempio di StringTokenizer

IL java.util.StringTokenizer La classe ti consente di suddividere una stringa in token. È un modo semplice per rompere una stringa. È una classe legacy di Java.

Non fornisce la possibilità di differenziare numeri, stringhe tra virgolette, identificatori ecc. come la classe StreamTokenizer. Discuteremo della classe StreamTokenizer nel capitolo I/O.

Nella classe StringTokenizer i delimitatori possono essere forniti al momento della creazione oppure uno per uno ai token.

StringTokenizer in Java

Costruttori della classe StringTokenizer

Sono presenti 3 costruttori definiti nella classe StringTokenizer.

Costruttore Descrizione
StringTokenizer(String str) Crea StringTokenizer con la stringa specificata.
StringTokenizer(String str, String delim) Crea StringTokenizer con la stringa e il delimitatore specificati.
StringTokenizer(String str, String delim, booleano returnValue) Crea StringTokenizer con la stringa, il delimitatore e il returnValue specificati. Se il valore restituito è true, i caratteri delimitatori sono considerati token. Se è falso, i caratteri delimitatori servono a separare i token.

Metodi della classe StringTokenizer

I sei metodi utili della classe StringTokenizer sono i seguenti:

StringTokenizer in Java
Metodi Descrizione
booleano hasMoreTokens() Controlla se ci sono più token disponibili.
Stringa nextToken() Restituisce il token successivo dall'oggetto StringTokenizer.
Stringa nextToken(Stringa delim) Restituisce il token successivo in base al delimitatore.
booleano hasMoreElements() È lo stesso del metodo hasMoreTokens().
Oggetto nextElement() È uguale a nextToken() ma il tipo restituito è Object.
int countTokens() Restituisce il numero totale di token.

Esempio di classe StringTokenizer

Vediamo un esempio della classe StringTokenizer che tokenizza una stringa 'il mio nome è khan' sulla base degli spazi bianchi.

Semplice.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()); } } }  

Produzione:

 my name is khan  

Il codice Java riportato sopra dimostra l'uso della classe StringTokenizer e dei suoi metodi hasMoreTokens() e nextToken().

Esempio del metodo nextToken(String delim) della classe StringTokenizer

Prova.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(',')); } }  

Produzione:

 Next token is : my  

Nota: la classe StringTokenizer ora è deprecata. Si consiglia di utilizzare il metodo split() della classe String o della classe Pattern che appartiene al pacchetto java.util.regex.

Esempio del metodo hasMoreTokens() della classe StringTokenizer

Questo metodo restituisce true se sono disponibili più token nella stringa tokenizer, altrimenti restituisce 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()); } } }  

Produzione:

 Demonstrating methods from StringTokenizer class  

Il programma Java sopra mostra l'uso di due metodi hasMoreTokens() e nextToken() della classe StringTokenizer.

Esempio del metodo hasMoreElements() della classe StringTokenizer

Questo metodo restituisce lo stesso valore del metodo hasMoreTokens() della classe StringTokenizer. L'unica differenza è che questa classe può implementare l'interfaccia Enumerazione.

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()); } } }  

Produzione:

 Hello everyone I am a Java developer  

Il codice precedente dimostra l'uso del metodo hasMoreElements().

Esempio del metodo nextElement() della classe StringTokenizer

nextElement() restituisce l'oggetto token successivo nella stringa tokenizer. Può implementare l'interfaccia di enumerazione.

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()); } } }  

Produzione:

 Hello Everyone Have a nice day  

Il codice precedente dimostra l'uso del metodo nextElement().

Esempio del metodo countTokens() della classe StringTokenizer

Questo metodo calcola il numero di token presenti nella stringa 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()); } }  

Produzione:

 Total number of Tokens: 6  

Il codice Java precedente dimostra il metodo countTokens() della classe StringTokenizer().