|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.text
类 CollationElementIterator
java.lang.Object java.text.CollationElementIterator
-
public final class CollationElementIterator
- extends Object
CollationElementIterator
类用作一个迭代器,以遍历国际化字符串的每个字符。使用该迭代器返回所定位字符的排序优先级。我们所指的字符排序优先级,是指在给定 collation 对象中定义字符排序方式的一个键。
例如,在西班牙语中考虑以下字符串:
在德语中,考虑以下字符串:"ca" -> 第一个键是键 ('c'),而第二个键是键 ('a')。 "ca" -> 第一个键是键 ('ch'),而第二个键是键 ('a')。
字符的键是由主顺序(short)、第二顺序(byte)和第三顺序(byte)组成的一个整数。Java 严格定义了其基本数据类型的大小和符号。因此,static 函数"?b" -> 第一个键是键 ('a'),第二个键是键 ('e'), 第三个键是键 ('b')。
primaryOrder
、secondaryOrder
和 tertiaryOrder
分别返回 int
、short
和 short
,以确保键值的正确性。
以下是使用迭代器的例子:
String testString = "This is a test"; RuleBasedCollator ruleBasedCollator = (RuleBasedCollator)Collator.getInstance(); CollationElementIterator collationElementIterator = ruleBasedCollator.getCollationElementIterator(testString); int primaryOrder = CollationElementIterator.primaryOrder(collationElementIterator.next());
CollationElementIterator.next
返回下一个字符的 collation 顺序。collation 顺序由主顺序、第二顺序和第三顺序组成。collation 顺序的数据类型是 int。collation 顺序的前 16 位是它的主顺序,接下来 8 位是第二顺序,最后 8 位是第三顺序。
- 另请参见:
-
Collator
,RuleBasedCollator
字段摘要 | |
---|---|
static int |
NULLORDER Null 顺序指示光标到达字符串末尾。 |
方法摘要 | |
---|---|
int |
getMaxExpansion(int order) 返回以指定比较顺序结束的所有扩展序列的最大长度。 |
int |
getOffset() 返回源文本中对应于下一个 collation 元素的字符偏移量。 |
int |
next() 获取字符串中的下一个 collation 元素。 |
int |
previous() 获取字符串中前一个 collation 元素。 |
static int |
primaryOrder(int order) 返回 collation 元素的主顺序。 |
void |
reset() 将光标重置于字符串开始处。 |
static short |
secondaryOrder(int order) 返回 collation 元素的第二顺序。 |
void |
setOffset(int newOffset) 将迭代器设置为指向对应于指定字符的 collation 元素(参数是源字符串中的一个 CHARACTER 偏移量,而不是其对应 collation 元素序列的偏移量)。 |
void |
setText(CharacterIterator source) 设置一个要迭代的新字符串。 |
void |
setText(String source) 设置一个要迭代的新字符串。 |
static short |
tertiaryOrder(int order) 返回 collation 元素的第三顺序。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
NULLORDER
public static final int NULLORDER
-
Null 顺序指示光标到达字符串末尾。
- 另请参见:
- 常量字段值
方法详细信息 |
---|
reset
public void reset()
- 将光标重置于字符串开始处。下一次调用 next() 将返回字符串中的第一个 collation 元素。
-
next
public int next()
-
获取字符串中的下一个 collation 元素。
此迭代器对构建于字符串的 collation 元素序列进行迭代。因为从字符到 collation 元素不一定存在一一映射关系,因此这与“返回字符串中下一个字符的 collation 元素(或排序优先级)”意义不同。
此函数返回迭代器当前指向的 collation 元素,然后将内部指针更新为指向下一个元素。previous() 则首先更新指针,然后再返回元素。这意味着,如果您在进行迭代时改变方向(例如,调用 next(),然后调用 previous(),或者调用 previous(),然后调用 next()),将两次获取同一个元素。
-
previous
public int previous()
-
获取字符串中前一个 collation 元素。
此迭代器对构建于字符串的 collation 元素序列进行迭代。因为从字符到 collation 元素不一定存在一一映射关系,因此这与“返回字符串中前一个字符的 collation 元素(或排序优先级)”意义不同。
此函数将迭代器的内部指针更新为指向它当前指向的 collation 元素的前一个元素,然后返回该元素;而 next() 则先返回当前元素,然后更新指针。这意味着,如果您在进行迭代时改变方向(例如,调用 next(),然后调用 previous(),或者调用 previous(),然后调用 next()),将两次获取同一个元素。
-
- 从以下版本开始:
- 1.2
primaryOrder
public static final int primaryOrder(int order)
- 返回 collation 元素的主顺序。
-
- 参数:
-
order
- collation 元素 - 返回:
- 该元素的主顺序
secondaryOrder
public static final short secondaryOrder(int order)
- 返回 collation 元素的第二顺序。
-
- 参数:
-
order
- collation 元素 - 返回:
- 该元素的第二顺序
tertiaryOrder
public static final short tertiaryOrder(int order)
- 返回 collation 元素的第三顺序。
-
- 参数:
-
order
- collation 元素 - 返回:
- 该元素的第二顺序
setOffset
public void setOffset(int newOffset)
- 将迭代器设置为指向对应于指定字符的 collation 元素(参数是源字符串中的一个 CHARACTER 偏移量,而不是其对应 collation 元素序列的偏移量)。下一次调用 next() 返回的值将是对应于文本中指定位置的 collation 元素。如果该位置在 contracting 字符序列的中间,则下一次调用 next() 的结果是该序列的 collation 元素。这意味着 getOffset() 返回的值不一定是前一次调用 setOffset() 所传入的值。
-
- 参数:
-
newOffset
- 源文本中新的字符偏移量。 - 从以下版本开始:
- 1.2