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()来检索当前索引。

上一个()和下一个()的方法用于迭代。 如果它们将超出 getBeginIndex() 到 getEndIndex() -1 的范围,则返回 DONE,表明迭代器已到达序列的末尾。 其他方法也返回 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.text.CharacterIteratorJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

字段

Done

当迭代器到达文本的末尾或开头时返回的常量。

属性

BeginIndex

返回开始索引。

EndIndex

返回结束索引。

Handle

获取基础 Android 对象的 JNI 值。

(继承自 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)

此接口定义用于对文本进行双向迭代的协议。

适用于