Most visited

Recently visited

Added in API level 24

UCharacterIterator

public abstract class UCharacterIterator
extends Object implements Cloneable

java.lang.Object
    android.icu.text.UCharacterIterator


抽象类,定义用于迭代文本对象的API。这是用于前向和后向迭代以及随机访问文本对象的接口。 正向迭代后增完成,向后迭代先减语义完成,而java.text.CharacterIterator接口方法提供向前迭代与“预增”和落后的迭代先减语义。 这个API对代码点的前向迭代更有效。 另一个主要区别是,此API可以执行代码单元和代码点迭代, java.text.CharacterIterator只能迭代代码单元,并且仅限于BMP(0 - 0xFFFF)

摘要(Summary)

常量(Constants)

int DONE

指示我们已经达到UTF16文本的末尾。

Protected constructors

UCharacterIterator()

受保护的子类的默认构造函数

公共方法(Public methods)

Object clone()

创建此迭代器的副本,独立于其他迭代器。

abstract int current()

返回当前索引处的代码单元。

int currentCodePoint()

返回当前索引处的代码点。

CharacterIterator getCharacterIterator()

为此迭代器的基础文本返回一个 java.text.CharacterIterator对象。

abstract int getIndex()

获取文本中的当前索引。

static final UCharacterIterator getInstance(String source)

返回给定源字符串的 UCharacterIterator对象。

static final UCharacterIterator getInstance(StringBuffer source)

返回给定源StringBuffer的 UCharacterIterator对象。

static final UCharacterIterator getInstance(Replaceable source)

返回 UCharacterIterator给予对象 Replaceable对象。

static final UCharacterIterator getInstance(CharacterIterator source)

给定一个CharacterIterator返回一个 UCharacterIterator对象。

static final UCharacterIterator getInstance(char[] source, int start, int limit)

返回给定源字符数组的 UCharacterIterator对象。

static final UCharacterIterator getInstance(char[] source)

返回给定源字符数组的 UCharacterIterator对象。

abstract int getLength()

返回文本的长度

abstract int getText(char[] fillIn, int offset)

使用迭代器的基础文本存储填充缓冲区如果缓冲区容量不足,则抛出异常。

String getText()

用于以字符串形式返回底层文本存储的便捷方法

final int getText(char[] fillIn)

getText(char[], int)便利替换提供了0的偏移量。

int moveCodePointIndex(int delta)

将当前位置移动指定的代码点数,根据增量符号(分别为正值或负值)向前或向后移动。

int moveIndex(int delta)

将当前位置移动指定的代码单元数,根据增量符号(分别为正值或负值)向前或向后移动。

abstract int next()

返回索引处的UTF16代码单元,并递增到下一个代码单元(增量后语义)。

int nextCodePoint()

返回index处的代码点,并递增到下一个代码点(增量后语义)。

abstract int previous()

减去文本中前一个代码单元的位置,并返回(前减量语义)。

int previousCodePoint()

撤回到文本中前一个代码点的开始位置,并返回它(预减量语义)。

abstract void setIndex(int index)

将索引设置为文本中的指定索引。

void setToLimit()

将当前索引设置为限制。

void setToStart()

将当前索引设置为开始。

继承方法(Inherited methods)

From class java.lang.Object

常量(Constants)

DONE

Added in API level 24
int DONE

指示我们已经达到UTF16文本的末尾。

常量值:-1(0xffffffff)

Protected constructors

UCharacterIterator

Added in API level 24
UCharacterIterator ()

受保护的子类的默认构造函数

公共方法(Public methods)

clone

Added in API level 24
Object clone ()

创建此迭代器的副本,独立于其他迭代器。 如果无法克隆迭代器,则返回null。

返回(Returns)
Object copy of this iterator
抛出异常(Throws)
CloneNotSupportedException

current

Added in API level 24
int current ()

返回当前索引处的代码单元。 如果索引超出范围,则返回DONE。 索引不变。

返回(Returns)
int current code unit

currentCodePoint

Added in API level 24
int currentCodePoint ()

返回当前索引处的代码点。 如果当前索引无效,则返回DONE。 如果当前索引指向主导代理,并且存在以下跟踪代理,则返回代码点。 否则,返回索引处的代码单元。 索引不变。

返回(Returns)
int current codepoint

getCharacterIterator

Added in API level 24
CharacterIterator getCharacterIterator ()

为此迭代器的基础文本返回一个java.text.CharacterIterator对象。 返回的迭代器独立于此迭代器。

返回(Returns)
CharacterIterator java.text.CharacterIterator object

getIndex

Added in API level 24
int getIndex ()

获取文本中的当前索引。

返回(Returns)
int current index in text.

getInstance

Added in API level 24
UCharacterIterator getInstance (String source)

返回给定源字符串的 UCharacterIterator对象。

参数(Parameters)
source String: a string
返回(Returns)
UCharacterIterator UCharacterIterator object
抛出异常(Throws)
IllegalArgumentException if the argument is null

getInstance

Added in API level 24
UCharacterIterator getInstance (StringBuffer source)

返回给定源StringBuffer的 UCharacterIterator对象。

参数(Parameters)
source StringBuffer: an string buffer of UTF-16 code units
返回(Returns)
UCharacterIterator UCharacterIterator object
抛出异常(Throws)
IllegalArgumentException if the argument is null

getInstance

Added in API level 24
UCharacterIterator getInstance (Replaceable source)

返回 UCharacterIterator给予对象 Replaceable对象。

参数(Parameters)
source Replaceable: a valid source as a Replaceable object
返回(Returns)
UCharacterIterator UCharacterIterator object
抛出异常(Throws)
IllegalArgumentException if the argument is null

getInstance

Added in API level 24
UCharacterIterator getInstance (CharacterIterator source)

给定一个CharacterIterator返回一个 UCharacterIterator对象。

参数(Parameters)
source CharacterIterator: a valid CharacterIterator object.
返回(Returns)
UCharacterIterator UCharacterIterator object
抛出异常(Throws)
IllegalArgumentException if the argument is null

getInstance

Added in API level 24
UCharacterIterator getInstance (char[] source, 
                int start, 
                int limit)

返回给定源字符数组的 UCharacterIterator对象。

参数(Parameters)
source char: an array of UTF-16 code units
start int
limit int
返回(Returns)
UCharacterIterator UCharacterIterator object
抛出异常(Throws)
IllegalArgumentException if the argument is null

getInstance

Added in API level 24
UCharacterIterator getInstance (char[] source)

返回给定源字符数组的 UCharacterIterator对象。

参数(Parameters)
source char: an array of UTF-16 code units
返回(Returns)
UCharacterIterator UCharacterIterator object
抛出异常(Throws)
IllegalArgumentException if the argument is null

getLength

Added in API level 24
int getLength ()

返回文本的长度

返回(Returns)
int length of the text

getText

Added in API level 24
int getText (char[] fillIn, 
                int offset)

使用迭代器的基础文本存储填充缓冲区如果缓冲区容量不足,则抛出异常。 填充缓冲区的容量应至少等于通过调用getLength()获得的迭代器中的文本长度)。 用法:

         UChacterIterator iter = new UCharacterIterator.getInstance(text);
         char[] buf = new char[iter.getLength()];
         iter.getText(buf);
         
         OR
         char[] buf= new char[1];
         int len = 0;
         for(;;){
             try{
                 len = iter.getText(buf);
                 break;
             }catch(IndexOutOfBoundsException e){
                 buf = new char[iter.getLength()];
             }
         }
 

参数(Parameters)
fillIn char: an array of chars to fill with the underlying UTF-16 code units.
offset int: the position within the array to start putting the data.
返回(Returns)
int the number of code units added to fillIn, as a convenience
抛出异常(Throws)
IndexOutOfBoundsException exception if there is not enough room after offset in the array, or if offset < 0.

getText

Added in API level 24
String getText ()

用于以字符串形式返回底层文本存储的便捷方法

返回(Returns)
String the underlying text storage in the iterator as a string

getText

Added in API level 24
int getText (char[] fillIn)

getText(char[], int)便利性覆盖提供了0的偏移量。

参数(Parameters)
fillIn char: an array of chars to fill with the underlying UTF-16 code units.
返回(Returns)
int the number of code units added to fillIn, as a convenience
抛出异常(Throws)
IndexOutOfBoundsException exception if there is not enough room in the array.

moveCodePointIndex

Added in API level 24
int moveCodePointIndex (int delta)

将当前位置移动指定的代码点数,根据增量符号(分别为正值或负值)向前或向后移动。 如果当前索引处于跟踪代理,则第一次调整是按代码单位进行的,其余调整是按代码点进行的。 如果生成的索引小于零,则索引设置为零,如果生成的索引大于限制,则索引设置为限制。

参数(Parameters)
delta int: the number of code units to move the current index.
返回(Returns)
int the new index
抛出异常(Throws)
IndexOutOfBoundsException is thrown if an invalid delta is supplied

moveIndex

Added in API level 24
int moveIndex (int delta)

将当前位置移动指定的代码单元数,根据增量符号(分别为正值或负值)向前或向后移动。 如果生成的索引小于零,则索引设置为零,如果生成的索引大于限制,则索引设置为限制。

参数(Parameters)
delta int: the number of code units to move the current index.
返回(Returns)
int the new index.
抛出异常(Throws)
IndexOutOfBoundsException is thrown if an invalid index is supplied

next

Added in API level 24
int next ()

返回索引处的UTF16代码单元,并递增到下一个代码单元(增量后语义)。 如果索引超出范围,则返回DONE,并将迭代器重置为文本的极限。

返回(Returns)
int the next UTF16 code unit, or DONE if the index is at the limit of the text.

nextCodePoint

Added in API level 24
int nextCodePoint ()

返回index处的代码点,并递增到下一个代码点(增量后语义)。 如果index不指向有效的代理对,则行为与next()相同。 否则,迭代器递增,超过代理对,并且由该对代表的代码点被返回。

返回(Returns)
int the next codepoint in text, or DONE if the index is at the limit of the text.

previous

Added in API level 24
int previous ()

减去文本中前一个代码单元的位置,并返回(前减量语义)。 如果结果索引小于0,索引将重置为0,并返回DONE。

返回(Returns)
int the previous code unit in the text, or DONE if the new index is before the start of the text.

previousCodePoint

Added in API level 24
int previousCodePoint ()

撤回到文本中前一个代码点的开始位置,并返回它(预减量语义)。 如果索引不是有效的代理对,则行为与previous()相同。 否则,迭代器递减到代理对的开始,并返回由该对代表的代码点。

返回(Returns)
int the previous code point in the text, or DONE if the new index is before the start of the text.

setIndex

Added in API level 24
void setIndex (int index)

将索引设置为文本中的指定索引。

参数(Parameters)
index int: the index within the text.
抛出异常(Throws)
IndexOutOfBoundsException is thrown if an invalid index is supplied

setToLimit

Added in API level 24
void setToLimit ()

将当前索引设置为限制。

setToStart

Added in API level 24
void setToStart ()

将当前索引设置为开始。

Hooray!