#navi(開発メモ/Java/基礎);
*StringTokenizerクラス [#mb8c0c73]
文字列をトークン(文字列の構成要素)に分解するために使います。~
区切り文字として使われる文字を指定することが可能です。~
StringTokenizerのコンストラクタ
#codeprettify{{
StringTokenizer(String str)
StringTokenizer(String str, String delimiters)
StringTokenizer(String str, String delimiters, boolean delimitersAreTokens)
}}
|引数|説明|h
|str|分解対象となる文字列|
|delimiters|トークン区切り文字|
|delimitersAreTokens|true:区切り文字を返す&br;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