Didalam JAVA terdapat sebuah class yang bernama StringTokenizer. Class ini berguna untuk memecah string kedalam bentuk tokens. Tidak seperti class StreamTokenizer, class ini tidak memiliki fitur untuk membedakan antara data angka, string, maupun identifiers.
Untuk menggunakannya, silahkan import package java.util.StringTokenizer terlebih dahulu.
Terdapat 3 constuctor dalam class StringTokenizer, yaitu :
StringTokenizer(String str)Membuat token berdasarkan argumen string yang diinputStringTokenizer(String str, String delim). Membuat token berdasarkan argumen string dan delimiter (pemisah) yang diinput.StringTokenizer(String str, String delim, boolean returnValue)Membuat token berdasarkan argumen string, delimiter, dan boolean returnValue yang diinput. Jika boolean returnValue bernilai true maka delimiter dibaca sebagai token, sedangkan jika returnValue bernilai false maka delimiter berfungsi untuk memisah-misahkan token.
Method-method yang terdapat dalam class StringTokenizer :
boolean hasMoreTokens(), untuk melakukan pengecekan apakah masih ada token yang tersedia.int countTokens(), untuk menghitung jumlah keseluruhan token yang tersedia.Object nextElement(), untuk mengambil data token selanjutnya dan mengembalikannya dalam bentuk Object.String nextToken(), untuk mengambil data token selanjutnya dan mengembalikannya dalam bentuk String.boolean hasMoreElements(), untuk melakukan hal yang sama seperti methodboolean hasMoreTokens().
Dibawah ini akan didemonstrasikan cara melakukan tokenisasi string dan memisah-misahkannya dengan karakter whitespace (spasi).
StringTokenizer strings = new StringTokenizer("My name is Caroline."," ");
while (strings.hasMoreTokens()) {
System.out.println(strings.nextToken());
}Dengan method hasMoreTokens() diatas, akan dicek apakah masih ada token yang tersedia. Selama masih ada, maka token tersebut dicetak. Begitu juga dengan token selanjutnya ( nextToken() ).
Maka, outputnya adalah
My
name
is
Caroline.
Selanjutnya, kita akan coba menggunakan method nextToken() dengan delimiter berupa tanda koma, namun tidak dimasukkan kedalam blok perulangan.
StringTokenizer strings = new StringTokenizer("Hello, nice to meet you.");
System.out.println(strings.nextToken(",")); Karena tidak dilakukan perulangan dalam membaca token, maka hanya diambil 1 token, yaitu token yang berada sebelum delimiter (,).
Maka, outputnya adalah
Hello
Selanjutnya, kita akan coba menggunakan method countTokens() untuk menghitung jumlah keseluruhan token yang ada.
StringTokenizer strings = new StringTokenizer("Hello, nice to meet you.");
System.out.println(strings.countTokens());Maka, outputnya adalah
5
Selanjutnya, kita akan coba menggunakan method hasMoreElements() untuk menghitung jumlah keseluruhan token yang ada.
StringTokenizer strings = new StringTokenizer("Hello, world !"," ");
while (strings.hasMoreElements()) {
System.out.println(strings.nextToken());
}Maka, outputnya adalah
Hello,
world
!
Dapat dilihat bahwa method hasMoreElements() memiliki cara kerja yang sama dengan method hasMoreTokens().

