primaryOrder
public static final int primaryOrder(int order)
返回排序元素的主要组件。
- 参数:
-
order
- 排序元素 - 返回:
- 元素的主要组件
CollationElementIterator
类用作遍历国际字符串中每个字符的迭代器。使用该迭代器返回定位字符的排序优先级。字符的排序优先级,我们称之为键,定义了字符在给定排序对象中的排序方式。
例如,考虑以下西班牙语示例:
而在德语中,"ca" → 第一个键是键('c'),第二个键是键('a')。 "cha" → 第一个键是键('ch'),第二个键是键('a')。
字符的键是由主排序(short)、次要排序(byte)和第三排序(byte)组成的整数。Java严格定义了其原始数据类型的大小和有符号性。因此,静态函数"äb" → 第一个键是键('a'),第二个键是键('e'),第三个键是键('b')。
primaryOrder
、secondaryOrder
和tertiaryOrder
分别返回int
、short
和short
,以确保键值的正确性。
迭代器用法示例:
String testString = "This is a test"; Collator col = Collator.getInstance(); if (col instanceof RuleBasedCollator ruleBasedCollator) { CollationElementIterator collationElementIterator = ruleBasedCollator.getCollationElementIterator(testString); int primaryOrder = CollationElementIterator.primaryOrder(collationElementIterator.next()); ⋮ }
CollationElementIterator.next
返回下一个字符的排序顺序。排序顺序包括主排序、次要排序和第三排序。排序顺序的数据类型为int。排序顺序的前16位是其主排序;接下来的8位是次要排序,最后的8位是第三排序。
注意: CollationElementIterator
是RuleBasedCollator
实现的一部分。它只能与RuleBasedCollator
实例一起使用。
int
getMaxExpansion(int order)
int
int
next()
int
previous()
static final int
primaryOrder(int order)
void
reset()
static final short
secondaryOrder(int order)
void
setOffset(int newOffset)
void
void
setText(CharacterIterator source)
static final short
tertiaryOrder(int order)
此迭代器遍历从字符串构建的排序元素序列。因为字符到排序元素之间不一定是一对一的映射,这并不意味着“返回字符串中下一个字符的排序元素[或排序优先级]”。
此函数返回迭代器当前指向的排序元素,然后更新内部指针以指向下一个元素。previous()首先更新指针,然后返回元素。这意味着在迭代时改变方向(即调用next()然后调用previous(),或调用previous()然后调用next())时,将会两次返回相同的元素。
此迭代器遍历从字符串构建的排序元素序列。因为字符到排序元素之间不一定是一对一的映射,这并不意味着“返回字符串中上一个字符的排序元素[或排序优先级]”。
此函数更新迭代器的内部指针,指向当前指向的排序元素之前的排序元素,然后返回该元素,而next()返回当前元素然后更新指针。这意味着在迭代时改变方向(即调用next()然后调用previous(),或调用previous()然后调用next())时,将会两次返回相同的元素。
order
- 排序元素
order
- 排序元素
order
- 排序元素
newOffset
- 新的字符偏移量到原始文本中
order
- 由previous或next返回的排序顺序
source
- 新的源文本
source
- 新的源文本。