public interface CharacterIterator extends Cloneable
イテレータは、有効範囲がgetBeginIndex()からgetEndIndex()の現在の文字インデックスを維持します。値getEndIndex()が含まれているのは、ゼロ長のテキスト範囲の操作を可能にするためと、歴史的な理由によります。現在のインデックスは、getIndex()を呼び出すことによって検索でき、setIndex()、first()、およびlast()を呼び出すことによって直接設定できます。
previous()メソッドとnext()メソッドは繰返し処理に使用されます。これらのメソッドは、getBeginIndex()からgetEndIndex() -1の範囲から外れるように動くと、DONEを返すことにより、イテレータがシーケンスの終わりに達したことを示します。また、ほかのメソッドからDONEが返された場合は、現在のインデックスがこの範囲外にあることを示します。
例
テキストの始めから終わりの方向へたどります。
public void traverseForward(CharacterIterator iter) {
for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
processChar(c);
}
}
テキストを終わりから始めの方向へ逆方向にたどります。
public void traverseBackward(CharacterIterator iter) {
for(char c = iter.last(); c != CharacterIterator.DONE; c = iter.previous()) {
processChar(c);
}
}
指定されたテキストの位置から前方向と逆方向の両方へたどります。この例でのnotBoundary()の呼出しは、その他の停止基準を表しています。
public void traverseOut(CharacterIterator iter, int pos) {
for (char c = iter.setIndex(pos);
c != CharacterIterator.DONE && notBoundary(c);
c = iter.next()) {
}
int end = iter.getIndex();
for (char c = iter.setIndex(pos);
c != CharacterIterator.DONE && notBoundary(c);
c = iter.previous()) {
}
int start = iter.getIndex();
processSection(start, end);
}
修飾子と型 | フィールドと説明 |
---|---|
static char |
DONE
イテレータがテキストの終わりか始めに達したときに返される定数です。
|
修飾子と型 | メソッドと説明 |
---|---|
Object |
clone()
イテレータのコピーを作成します。
|
char |
current()
現在位置(getIndex()によって返される位置)にある文字を取得します。
|
char |
first()
位置をgetBeginIndex()に設定して、その位置にある文字を返します。
|
int |
getBeginIndex()
テキストの開始インデックスを返します。
|
int |
getEndIndex()
テキストの終了インデックスを返します。
|
int |
getIndex()
現在のインデックスを返します。
|
char |
last()
位置をgetEndIndex()-1 (テキストが空の場合はgetEndIndex())に設定して、その位置にある文字を返します。
|
char |
next()
イテレータのインデックスを1増やし、新しいインデックスにある文字を返します。
|
char |
previous()
イテレータのインデックスを1減らし、新しいインデックスにある文字を返します。
|
char |
setIndex(int position)
位置を指定されたテキストの位置に設定して、その文字を返します。
|
static final char DONE
char first()
getBeginIndex()
char last()
getEndIndex()
char current()
getIndex()
char next()
char previous()
char setIndex(int position)
position
- テキスト内の位置。有効な値は、getBeginIndex()からgetEndIndex()。無効な値を指定すると、IllegalArgumentExceptionがスローされる。int getBeginIndex()
int getEndIndex()
int getIndex()
Object clone()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.