|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.StringTokenizer
public class StringTokenizer
StringTokenizer クラスを使用すると、アプリケーションで文字列をトークンに分割できます。トークン化のメソッドは、StreamTokenizer クラスで使用されているメソッドよりもさらに簡単です。StreamTokenizer メソッドでは、識別子、数字、引用文字列は区別されません。また、コメントを認識してスキップすることもありません。
区切り文字 (トークンを分ける文字) は、クラスの作成時、またはトークンを得るたびに指定できます。
StringTokenizer のインスタンスは、作成時の returnDelims フラグの値が true か false かによって、動作が異なります。
false の場合は、区切り文字はトークンを分けるだけのものと見なされる。トークンは区切り文字でない文字が 1 個以上連続している部分であるtrue の場合は、区切り文字はそれ自体がトークンと見なされる。トークンは、1 個の区切り文字か、区切り文字でない文字が 1 個以上連続している部分である
StringTokenizer オブジェクトは内部的に、トークン化される文字列内の現在の位置を管理します。いくつかのオペレーションは、この現在の位置を処理された文字の先に進めるものがあります。
トークンは、StringTokenizer オブジェクトを作成するのに使用された文字列の部分文字列を取得することによって返されます。
使用例を次に示します。
StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) { System.out.println(st.nextToken());
}
画面には次のように表示されます。
this is a test
StringTokenizer は、互換性を維持する目的で保持されているレガシークラスであり、新規コードでは使用が推奨されていません。この機能の使用を考えているなら、String の split メソッドまたは java.util.regex パッケージを代わりに使用することをお勧めします。
次の例は、String.split メソッドを使用して文字列を基本的なトークンに分割する方法を示します。
String[] result = "this is a test".split("\\s");
for (int x=0;
x<result.length;
x++) System.out.println(result[x]);
画面には次のように表示されます。
this is a test
StreamTokenizer| コンストラクタの概要 | |
|---|---|
StringTokenizer(String str)
指定された文字列に対する StringTokenizer を作成します。 |
|
StringTokenizer(String str,
String delim)
指定された文字列に対する StringTokenizer を作成します。 |
|
StringTokenizer(String str,
String delim,
boolean returnDelims)
指定された文字列に対する StringTokenizer を作成します。 |
|
| メソッドの概要 | |
|---|---|
int |
countTokens()
例外を生成せずにトークナイザの nextToken メソッドを呼び出せる回数を計算します。 |
boolean |
hasMoreElements()
hasMoreTokens メソッドと同じ値を返します。 |
boolean |
hasMoreTokens()
トークナイザの文字列で利用できるトークンがまだあるかどうかを判定します。 |
Object |
nextElement()
nextToken メソッドと同じ値を返します。 |
String |
nextToken()
文字列トークナイザから次のトークンを返します。 |
String |
nextToken(String delim)
文字列トークナイザの文字列から次のトークンを返します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public StringTokenizer(String str,
String delim,
boolean returnDelims)
delim 引数内のすべての文字は、トークンを区切るための区切り文字です。
returnDelims フラグが true の場合は、区切り文字もトークンとして返されます。各区切り文字は長さ 1 の文字列として返されます。フラグが false の場合は、区切り文字はスキップされ、トークンを分けるだけのものと見なされます。
delim が null の場合、このコンストラクタは例外をスローしません。ただし、得られた StringTokenizer に対して他のメソッドを呼び出そうとすると、NullPointerException がスローされる場合があります。
str - 構文解析される文字列delim - 区切り文字returnDelims - 区切り文字をトークンに含めるかどうかを示すフラグ
NullPointerException - str が null の場合
public StringTokenizer(String str,
String delim)
delim 引数の文字は、トークンを分ける区切り文字です。区切り文字そのものがトークンとして扱われることはありません。
delim が null の場合、このコンストラクタは例外をスローしません。ただし、得られた StringTokenizer に対して他のメソッドを呼び出そうとすると、NullPointerException がスローされる場合があります。
str - 構文解析される文字列delim - 区切り文字
NullPointerException - str が null の場合public StringTokenizer(String str)
\t\n\r\f」で、空白文字、タブ文字、改行文字、復帰改行文字、および用紙送り文字から構成されます。区切り文字は、それ自体がトークンとして処理されることはありません。
str - 構文解析される文字列
NullPointerException - str が null の場合| メソッドの詳細 |
|---|
public boolean hasMoreTokens()
true、そうでない場合は falsepublic String nextToken()
NoSuchElementException - トークナイザの文字列にトークンが残っていない場合public String nextToken(String delim)
delim - 新しい区切り文字
NoSuchElementException - トークナイザの文字列にトークンが残っていない場合
NullPointerException - delim が null の場合public boolean hasMoreElements()
hasMoreTokens メソッドと同じ値を返します。これを使用すると、このクラスに Enumeration インタフェースを実装することができます。
Enumeration<Object> 内の hasMoreElementstrue、そうでない場合は falseEnumeration,
hasMoreTokens()public Object nextElement()
nextToken メソッドと同じ値を返します。ただし、宣言された戻り値は、String ではなく Object です。これを使用してこのクラスに Enumeration インタフェースを実装することができます。
Enumeration<Object> 内の nextElementNoSuchElementException - トークナイザの文字列にトークンが残っていない場合Enumeration,
nextToken()public int countTokens()
nextToken メソッドを呼び出せる回数を計算します。現在の位置は進みません。
nextToken()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。