|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.text.CollationElementIterator
public final class CollationElementIterator
CollationElementIterator クラスは、多国語文字列の各文字を処理するときの反復子として使われます。反復子は、位置付けされた文字の順序の優先順位を返すのに使用されます。順序の優先順位 (キーと呼ぶ) は、指定された照合オブジェクトにおいて、ある文字がどのように照合されるかを定義するものです。
スペイン語の例を示します。
"ca" -> the first key is key('c') and second key is key('a').
"cha" -> the first key is key('ch') and second key is key('a').
さらに、ドイツ語の例を示します。
"?b"-> the first key is key('a'), the second key is key('e'), and
the third key is key('b').
文字のキーは、第 1 順序 (short)、第 2 順序 (byte)、第 3 順序 (byte) からなる整数です。Java では、その基本データ型のサイズと符号の有無が厳密に定義されます。したがって、static 関数 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 のマッピングが必ずしも存在しないため、これは、「文字列の 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)
source - 新しいソーステキストpublic void setText(CharacterIterator source)
source - 新しいソーステキスト
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。