|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.text.CollationElementIterator
CollationElementIterator
クラスは、各国語文字列の各文字を処理するときの反復子として使用します。反復子は、位置付けされた文字の順序の優先順位を返すのに使用されます。順序の優先順位 (キーと呼ぶ) は、指定された照合オブジェクトにおいて、ある文字がどのように照合されるかを定義するものです。
スペイン語の例を示します。
さらに、ドイツ語の例を示します。"ca" -> 最初のキーは ('c')、2 番目のキーは ('a') です。 "cha" -> 最初のキーは ('ch')、2 番目のキーは ('a') です。
文字のキーは、第 1 順序 (short)、第 2 順序 (byte)、第 3 順序 (byte) からなる整数です。Java では、その基本データ型のサイズと符号の有無が厳密に定義されます。したがって、static 関数"äb" -> 最初のキーは ('a')、2 番目のキーは ('e')、 3 番目のキーは ('b') です。
primaryOrder
、secondaryOrder
、tertiaryOrder
は、キー値の正確性を確保するために、それぞれ int
、short
、short
を返します。
反復子の使用例
String testString = "This is a test"; RuleBasedCollator ruleBasedCollator = (RuleBasedCollator)Collator.getInstance(); CollationElementIterator collationElementIterator = ruleBasedCollator.getCollationElementIterator(testString); int primaryOrder = CollationElementIterator.primaryOrder(collationElementIterator.next());
CollationElementIterator.next
は、次の文字の照合順序を返します。照合順序は、第 1 順序、第 2 順序、第 3 順序からなります。照合順序のデータ型は int です。照合順序の最初の 16 ビットがその第 1 順序、次の 8 ビットが第 2 順序、最後の 8 ビットが第 3 順序です。
Collator
,
RuleBasedCollator
フィールドの概要 | |
static int |
NULLORDER
カーソルが文字列の終わりに達したことを示す null 順序です。 |
メソッドの概要 | |
int |
getMaxExpansion(int order)
指定された比較順序で終わるすべての展開シーケンスの最大長を返します。 |
int |
getOffset()
次の照合要素に対応する元のテキスト内の文字オフセットを返します。 |
int |
next()
文字列の次の照合要素を取得します。 |
int |
previous()
文字列の前の照合要素を取得します。 |
static int |
primaryOrder(int order)
照合要素の第 1 成分を返します。 |
void |
reset()
カーソルを文字列の先頭にリセットします。 |
static short |
secondaryOrder(int order)
照合要素の第 2 成分を返します。 |
void |
setOffset(int newOffset)
反復子が指定された文字に対応する照合要素を示すように設定します。 |
void |
setText(CharacterIterator source)
繰り返し処理の対象となる新しい文字列を設定します。 |
void |
setText(String source)
繰り返し処理の対象となる新しい文字列を設定します。 |
static short |
tertiaryOrder(int order)
照合要素の第 3 成分を返します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final int NULLORDER
メソッドの詳細 |
public void reset()
public int next()
この反復子は、その文字列で作成された照合要素のシーケンス対して繰り返し処理を実行します。文字から照合要素への 1 対 1 のマッピングが必ずしも存在しないため、これは、「文字列の次の文字の照合要素 [順序の優先順位] を返す」こととは異なります。
この関数は、反復子が現在示している照合要素を返してから、内部ポインタを更新して次の要素を示します。それに対して、previous() は最初にポインタを更新してから要素を返します。これは、繰り返し処理中に方向を変更すると (つまり、next() を呼び出してから previous() を呼び出すか、previous() を呼び出してから next() を呼び出す)、同じ要素を 2 回戻すことを意味します。
public int previous()
この反復子は、その文字列で作成された照合要素シーケンスに対して繰り返し処理を実行します。文字から照合要素への 1 対 1 のマッピングが必ずしも存在しないため、これは、「文字列の前の文字の照合要素 [順序の優先順位] を返す」こととは異なります。
この関数は、反復子の内部ポインタを更新して現在示している照合要素の前の照合要素を示してから、要素を返します。それに対して、next() は現在の要素を返してからポインタを更新します。これは、繰り返し処理中に方向を変更する場合 (つまり、next() を呼び出してから previous() を呼び出すか、previous() を呼び出してから next() を呼び出す)、同じ要素を 2 回戻すことを意味します。
public static final int primaryOrder(int order)
order
- 照合要素
public static final short secondaryOrder(int order)
order
- 照合要素
public static final short tertiaryOrder(int order)
order
- 照合要素
public void setOffset(int newOffset)
newOffset
- 元のテキストへの新しい文字オフセットpublic int getOffset()
public int getMaxExpansion(int order)
order
- previous または next が返す照合順序
public void setText(String source)
public void setText(CharacterIterator source)
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.