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!