文字列をトークン(文字列の構成要素)に分解するために使います。
区切り文字として使われる文字を指定することが可能です。
StringTokenizerのコンストラクタ
#codeprettify{{ StringTokenizer(String str) StringTokenizer(String str, String delimiters) StringTokenizer(String str, String delimiters, boolean delimitersAreTokens) }}
| 引数 | 説明 |
| str | 分解対象となる文字列 |
| delimiters | トークン区切り文字 |
| delimitersAreTokens | true:区切り文字を返す false:区切り文字を返さない |
StrintTokenizerクラスはEnumerationインターフェイスが実装されています~。
こちらはStringTokenizerクラスを使った例。
例2と比較してください。
例1
#codeprettify{{ import java.util.*;
class StringTokenizerDemo{
public static void main(String args[]){
//この文字列を分解します
String str ="123/45.6/-11.2/41/-90.1/100/99.99/-50/-20";
//"/"を区切り文字としてstrを区切る StringTokenizer型のオブジェクトstを生成
StringTokenizer st = new StringTokenizer(str,"/");
//stに文字列が無くなるまで繰り返す
while (st.hasMoreTokens()){
String s = st.nextToken();
System.out.println(s);
}
}
} }}
結果
123 45.6 -11.2 41 -90.1 100 99.99 -50 -20
こちらは、上記の例のEnumerationインターフェイスのメソッドを使用した例
結果は同じ。
例2
#codeprettify{{ import java.util.*;
class StringTokenizerDemo2{
public static void main(String args[]){
String str ="123/45.6/-11.2/41/-90.1/100/99.99/-50/-20";
//"/"を区切り文字としてstrを区切る StringTokenizer型のオブジェクトstを生成
StringTokenizer st = new StringTokenizer(str,"/");
//stに文字列が無くなるまで繰り返す
//Enumerationのメソッドを使用
while (st.hasMoreElements()){
//nextElement()の戻り値はObject型なのでString型でキャストする
String s = (String)st.nextElement();
System.out.println(s);
}
}
} }}
結果
123 45.6 -11.2 41 -90.1 100 99.99 -50 -20