文字列をトークン(文字列の構成要素)に分解するために使います。
区切り文字として使われる文字を指定することが可能です。
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