public final class CollationElementIterator extends Object
CollationElementIterator
类作为一个迭代器遍历一个字符串中的每个字符的国际。使用迭代器返回定位字符的排序优先级。一个字符的优先级排序,我们称之为关键,定义了一个字符是在给定对象的整理整理。
例如,考虑以下西班牙语:
和德国,"ca" → the first key is key('c') and second key is key('a'). "cha" → the first key is key('ch') and second key is key('a').
字符的密钥是由初级阶整数(短)、二级(字节),和三阶(字节)。java严格定义的大小和其原始数据类型符号。因此,静态函数"�b" → the first key is key('a'), the second key is key('e'), and the third key is key('b').
primaryOrder
,
secondaryOrder
,和
tertiaryOrder
返回
int
,
short
,和
short
分别确保关键值的正确性。
迭代器使用的例子,
String testString = "This is a test"; Collator col = Collator.getInstance(); if (col instanceof RuleBasedCollator) { RuleBasedCollator ruleBasedCollator = (RuleBasedCollator)col; CollationElementIterator collationElementIterator = ruleBasedCollator.getCollationElementIterator(testString); int primaryOrder = CollationElementIterator.primaryOrder(collationElementIterator.next()); : }
CollationElementIterator.next
返回下一个字符的排序顺序。排序规则由一级、二级和三级组成。的排序顺序的数据类型是int。排序规则的前16位是它的一阶;下一个8位是二阶,最后的8位是第三阶。
注: CollationElementIterator
是RuleBasedCollator
实现的一部分。这是唯一可用RuleBasedCollator
实例。
Collator
,
RuleBasedCollator
Modifier and Type | Field and Description |
---|---|
static int |
NULLORDER
指示字符串的结束的空顺序是由光标到达的。
|
Modifier and Type | Method and Description |
---|---|
int |
getMaxExpansion(int order)
用指定的比较顺序返回结束的任何扩展序列的最大长度。
|
int |
getOffset()
在对应于下一个排序规则元素的原始文本中返回字符偏移量。
|
int |
next()
获取字符串中的下一个排序规则元素。
|
int |
previous()
获取字符串中的以前的排序规则元素。
|
static int |
primaryOrder(int order)
返回排序规则元素的主要组件。
|
void |
reset()
将光标移到字符串的开头。
|
static short |
secondaryOrder(int order)
返回排序规则元素的次要组件。
|
void |
setOffset(int newOffset)
将迭代器指向对应于指定字符的排序规则元素(该参数是原始字符串中的一个字符偏移量,而不是一个偏移量为其相应的排序规则元素的顺序)。
|
void |
setText(CharacterIterator source)
设置一个新的字符串来进行迭代。
|
void |
setText(String source)
设置一个新的字符串来进行迭代。
|
static short |
tertiaryOrder(int order)
返回排序元素的第三组件。
|
public static final int NULLORDER
public void reset()
public int next()
这个迭代器遍历一个序列的排序的元素,都是由字符串。因为不一定是从字符到排序元素的一对一的映射,这并不意味着“返回字符串中的下一个字符的排序元素[或排序优先级]相同的东西”。
此函数返回当前指向的迭代器指向的排序规则元素,然后更新指向下一个元素的内部指针。previous()更新指针先返回元素。这意味着,当你改变方向而迭代(即电话next()然后调用previous(),或致电previous()然后调用next()),你会回来的一元二次。
public int previous()
这个迭代器遍历一个序列的排序的元素,都是由字符串。因为不一定是一个从字符到排序元素的一对一的映射,这并不意味着“返回字符串中以前的字符的排序规则元素[或排序优先级]”。
这一功能更新对象的内部指针指向前一个目前指向排序元素并返回的元素,而next()返回当前元素并更新指针。这意味着,当你改变方向而迭代(即电话next()然后调用previous(),或致电previous()然后调用next()),你会回来的一元二次。
public static final int primaryOrder(int order)
order
-排序元素
public static final short secondaryOrder(int order)
order
-排序元素
public static final short tertiaryOrder(int order)
order
-排序元素
public void setOffset(int newOffset)
newOffset
-新的字符偏移量为原始文本。
public int getOffset()
public int getMaxExpansion(int order)
order
-排序顺序返回上一个或下一个。
public void setText(String source)
source
-新的源文本
public void setText(CharacterIterator source)
source
-新的源文本。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.