The java.util.StringTokenizer class pozwala podzielić ciąg na tokeny. To prosty sposób na złamanie ciągu. Jest to starsza klasa Java.
Nie zapewnia możliwości rozróżniania liczb, cudzysłowów, identyfikatorów itp., jak klasa StreamTokenizer. O klasie StreamTokenizer porozmawiamy w rozdziale I/O.
W klasie StringTokenizer ograniczniki można podać w momencie tworzenia lub pojedynczo do tokenów.
Konstruktory klasy StringTokenizer
W klasie StringTokenizer zdefiniowano 3 konstruktory.
Konstruktor | Opis |
---|---|
StringTokenizer(String str) | Tworzy StringTokenizer z określonym ciągiem. |
StringTokenizer(String str, String delim) | Tworzy StringTokenizer z określonym ciągiem i ogranicznikiem. |
StringTokenizer(String str, String delim, boolean returnValue) | Tworzy StringTokenizer z określonym ciągiem, ogranicznikiem i zwracaną wartością. Jeśli zwracana wartość ma wartość true, znaki ogranicznika są uważane za tokeny. Jeśli jest fałszywe, znaki oddzielające służą do oddzielania tokenów. |
Metody klasy StringTokenizer
Sześć przydatnych metod klasy StringTokenizer to:
instalacja mavena
Metody | Opis |
---|---|
wartość logiczna maWięcejTokenów() | Sprawdza, czy dostępnych jest więcej tokenów. |
Ciąg nextToken() | Zwraca następny token z obiektu StringTokenizer. |
String nextToken (usunięcie ciągu) | Zwraca następny token na podstawie ogranicznika. |
wartość logiczna maWięcejElementów() | Działa identycznie jak metoda hasMoreTokens(). |
Obiekt następnyElement() | Jest taka sama jak nextToken(), ale jej typem zwracanym jest Obiekt. |
int liczbaTokenów() | Zwraca całkowitą liczbę tokenów. |
Przykład klasy StringTokenizer
Zobaczmy przykład klasy StringTokenizer, która tokenizuje ciąg „nazywam się khan” na podstawie białych znaków.
Simple.java
obiekt do jsona w Javie
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()); } } }
Wyjście:
my name is khan
Powyższy kod Java demonstruje użycie klasy StringTokenizer i jej metod hasMoreTokens() i nextToken().
Przykład metody nextToken(String delim) klasy 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(',')); } }
Wyjście:
Next token is : my
Uwaga: Klasa StringTokenizer jest obecnie przestarzała. Zalecane jest użycie metody split() klasy String lub klasy Pattern należącej do pakietu java.util.regex.
Przykład metody hasMoreTokens() klasy StringTokenizer
Ta metoda zwraca wartość true, jeśli w ciągu tokenizera dostępnych jest więcej tokenów, w przeciwnym razie zwraca wartość 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()); } } }
Wyjście:
mapa drzewa
Demonstrating methods from StringTokenizer class
Powyższy program Java przedstawia użycie dwóch metod hasMoreTokens() i nextToken() klasy StringTokenizer.
Przykład metody hasMoreElements() klasy StringTokenizer
Ta metoda zwraca tę samą wartość, co metoda hasMoreTokens() klasy StringTokenizer. Jedyna różnica polega na tym, że ta klasa może implementować interfejs wyliczeniowy.
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()); } } }
Wyjście:
Hello everyone I am a Java developer
Powyższy kod demonstruje użycie metody hasMoreElements().
Przykład metody nextElement() klasy StringTokenizer
nextElement() zwraca następny obiekt tokenu w ciągu tokenizera. Może implementować interfejs wyliczeniowy.
StringTokenizer3.java
alternatywa dla mylivecricket
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()); } } }
Wyjście:
Hello Everyone Have a nice day
Powyższy kod demonstruje użycie metody nextElement().
Przykład metody countTokens() klasy StringTokenizer
Ta metoda oblicza liczbę tokenów znajdujących się w ciągu tokenizera.
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()); } }
Wyjście:
Total number of Tokens: 6
Powyższy kod Java demonstruje metodę countTokens() klasy StringTokenizer().