ICharacterIterator Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Этот интерфейс определяет протокол для двунаправленной итерации по тексту.
[Android.Runtime.Register("java/text/CharacterIterator", "", "Java.Text.ICharacterIteratorInvoker")]
public interface ICharacterIterator : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/text/CharacterIterator", "", "Java.Text.ICharacterIteratorInvoker")>]
type ICharacterIterator = interface
interface ICloneable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Производный
- Атрибуты
- Реализации
Комментарии
Этот интерфейс определяет протокол для двунаправленной итерации по тексту. Итератор выполняет итерацию по ограниченной последовательности символов. Символы индексируются со значениями, начинающимися со значения, возвращаемого getBeginIndex() и продолжаясь через значение, возвращаемое getEndIndex()-1.
Итераторы поддерживают текущий индекс символов, допустимый диапазон которого — от getBeginIndex() до getEndIndex(); Значение getEndIndex() включается для разрешения обработки диапазонов текста нулевой длины и по историческим причинам. Текущий индекс можно получить путем вызова getIndex() и задания напрямую путем вызова setIndex(), first() и last().
Методы previous() и next() используются для итерации. Они возвращают ГОТОВО, если они будут перемещаться вне диапазона от getBeginIndex() до getEndIndex() -1, сигналируя о том, что итератор достиг конца последовательности. DONE также возвращается другими методами, чтобы указать, что текущий индекс находится за пределами этого диапазона.
Примеры:
Переход к тексту от начала до конца
{@code
public void traverseForward(CharacterIterator iter) {
for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
processChar(c);
}
}
}
Перекрестное перемещение текста в обратном направлении от конца до начала
{@code
public void traverseBackward(CharacterIterator iter) {
for(char c = iter.last(); c != CharacterIterator.DONE; c = iter.previous()) {
processChar(c);
}
}
}
Проходит как вперед, так и назад от заданной позиции в тексте. Вызовы notBoundary() в этом примере представляют некоторые дополнительные критерии остановки.
{@code
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);
}
}
Добавлено в версии 1.1.
Документация по Java для java.text.CharacterIterator
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Поля
Done |
Константы, возвращаемые, когда итератор достиг конца или начала текста. |
Свойства
BeginIndex |
Возвращает начальный индекс. |
EndIndex |
Возвращает конечный индекс. |
Handle |
Возвращает значение JNI базового объекта Android. (Унаследовано от IJavaObject) |
Index |
Возвращает текущий индекс. |
JniIdentityHashCode |
Возвращает значение |
JniManagedPeerState |
Состояние управляемого однорангового узла. (Унаследовано от IJavaPeerable) |
JniPeerMembers |
Поддержка доступа к членам и вызовов. (Унаследовано от IJavaPeerable) |
PeerReference |
JniObjectReference Возвращает экземпляр объекта Java в оболочке. (Унаследовано от IJavaPeerable) |
Методы
Clone() |
Создание копии этого итератора |
Current() |
Возвращает символ в текущей позиции (как возвращается getIndex()). |
Disposed() |
Вызывается при удалении экземпляра. (Унаследовано от IJavaPeerable) |
DisposeUnlessReferenced() |
Если нет невыполненных ссылок на этот экземпляр, то вызывается |
Finalized() |
Вызывается при завершении экземпляра. (Унаследовано от IJavaPeerable) |
First() |
Задает позицию для getBeginIndex() и возвращает символ в этой позиции. |
Last() |
Задает позицию getEndIndex()-1 (getEndIndex(), если текст пуст) и возвращает символ в этой позиции. |
Next() |
Увеличивает индекс итератора по одному и возвращает символ в новом индексе. |
Previous() |
Уменьшает индекс итератора по одному и возвращает символ в новом индексе. |
SetIndex(Int32) |
Задает позицию указанной позиции в тексте и возвращает этот символ. |
SetJniIdentityHashCode(Int32) |
Задайте значение, возвращаемое |
SetJniManagedPeerState(JniManagedPeerStates) |
Этот интерфейс определяет протокол для двунаправленной итерации по тексту. (Унаследовано от IJavaPeerable) |
SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое |
UnregisterFromRuntime() |
Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов. (Унаследовано от IJavaPeerable) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Этот интерфейс определяет протокол для двунаправленной итерации по тексту. |
GetJniTypeName(IJavaPeerable) |
Этот интерфейс определяет протокол для двунаправленной итерации по тексту. |