Поделиться через


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

Возвращает значение java.lang.System.identityHashCode() для упаковаемого экземпляра.

(Унаследовано от IJavaPeerable)
JniManagedPeerState

Состояние управляемого однорангового узла.

(Унаследовано от IJavaPeerable)
JniPeerMembers

Поддержка доступа к членам и вызовов.

(Унаследовано от IJavaPeerable)
PeerReference

JniObjectReference Возвращает экземпляр объекта Java в оболочке.

(Унаследовано от IJavaPeerable)

Методы

Clone()

Создание копии этого итератора

Current()

Возвращает символ в текущей позиции (как возвращается getIndex()).

Disposed()

Вызывается при удалении экземпляра.

(Унаследовано от IJavaPeerable)
DisposeUnlessReferenced()

Если нет невыполненных ссылок на этот экземпляр, то вызывается Dispose(); в противном случае ничего не делает.

(Унаследовано от IJavaPeerable)
Finalized()

Вызывается при завершении экземпляра.

(Унаследовано от IJavaPeerable)
First()

Задает позицию для getBeginIndex() и возвращает символ в этой позиции.

Last()

Задает позицию getEndIndex()-1 (getEndIndex(), если текст пуст) и возвращает символ в этой позиции.

Next()

Увеличивает индекс итератора по одному и возвращает символ в новом индексе.

Previous()

Уменьшает индекс итератора по одному и возвращает символ в новом индексе.

SetIndex(Int32)

Задает позицию указанной позиции в тексте и возвращает этот символ.

SetJniIdentityHashCode(Int32)

Задайте значение, возвращаемое JniIdentityHashCode.

(Унаследовано от IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Этот интерфейс определяет протокол для двунаправленной итерации по тексту.

(Унаследовано от IJavaPeerable)
SetPeerReference(JniObjectReference)

Задайте значение, возвращаемое PeerReference.

(Унаследовано от IJavaPeerable)
UnregisterFromRuntime()

Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов.

(Унаследовано от IJavaPeerable)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Этот интерфейс определяет протокол для двунаправленной итерации по тексту.

GetJniTypeName(IJavaPeerable)

Этот интерфейс определяет протокол для двунаправленной итерации по тексту.

Применяется к