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, 2013, Oracle and/or its affiliates. All rights reserved.