|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.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
、そうでない場合は false
public String nextToken()
NoSuchElementException
- トークナイザの文字列にトークンが残っていない場合public String nextToken(String delim)
delim
- 新しい区切り文字
NoSuchElementException
- トークナイザの文字列にトークンが残っていない場合
NullPointerException
- delim が null
の場合public boolean hasMoreElements()
hasMoreTokens
メソッドと同じ値を返します。これを使用してこのクラスに Enumeration
インタフェースを実装することができます。
Enumeration<Object>
内の hasMoreElements
true
、そうでない場合は false
Enumeration
,
hasMoreTokens()
public Object nextElement()
nextToken
メソッドと同じ値を返します。 ただし、宣言された戻り値は、String
ではなく Object
です。これを使用してこのクラスに Enumeration
インタフェースを実装することができます。
Enumeration<Object>
内の nextElement
NoSuchElementException
- トークナイザの文字列にトークンが残っていない場合Enumeration
,
nextToken()
public int countTokens()
nextToken
メソッドを呼び出せる回数を計算します。現在の位置は進みません。
nextToken()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。