public abstract class Collator extends Object implements Comparator<Object>, Cloneable
Collator类执行现场
String比较敏感。你使用这个类来建立自然语言文本的搜索和排序例程。
Collator是抽象基类。子类实现特定的排序规则策略。一类,RuleBasedCollator,目前提供的java平台,适用于一系列广泛的语言。可以创建其他子类来处理更专业的需求。
像其他语言环境敏感的类,你可以使用静态工厂方法,getInstance,获得一个给定设置适当的Collator对象。你只需要看看Collator子类如果你需要了解一个特定的排序策略的细节,或者如果你需要修改策略。
下面的示例演示如何使用Collator为默认区域比较两个字符串。
// Compare two strings in the default locale Collator myCollator = Collator.getInstance(); if( myCollator.compare("abc", "ABC") < 0 ) System.out.println("abc is less than ABC"); else System.out.println("abc is greater than or equal to ABC");
你可以设置一个Collator强度属性确定水平的差异是显着的比较。有四个优势:PRIMARY,SECONDARY,TERTIARY,和IDENTICAL。对语言功能的优势的精确分配是语言设置依赖。例如,在捷克,“E”和“F”被认为是主要的差异,而“E”和“ě”是次要的差异,“E”和“E”和“E”三差异和“E”是相同的。下面的说明了这两种情况和口音都可以忽略为我们的英语。
//Get the Collator for US English and set its strength to PRIMARY
Collator usCollator = Collator.getInstance(Locale.US);
usCollator.setStrength(Collator.PRIMARY);
if( usCollator.compare("abc", "ABC") == 0 ) {
System.out.println("Strings are equivalent");
}
比较Strings恰好一次,这compare方法提供了最佳的性能。当排序Strings然而,它一般是要比较各String多次。在这种情况下,CollationKeys提供更好的性能。的CollationKey类将String一系列比特位可以比较与其他CollationKeys。一CollationKey是由给定的String Collator对象创建一个。
注: CollationKeys不同Collators不能相比的。看到班上的描述CollationKey为例,采用CollationKeys。
| Modifier and Type | Field and Description |
|---|---|
static int |
CANONICAL_DECOMPOSITION
分解模值。
|
static int |
FULL_DECOMPOSITION
分解模值。
|
static int |
IDENTICAL
整理强度值。
|
static int |
NO_DECOMPOSITION
分解模值。
|
static int |
PRIMARY
整理强度值。
|
static int |
SECONDARY
整理强度值。
|
static int |
TERTIARY
整理强度值。
|
| Modifier | Constructor and Description |
|---|---|
protected |
Collator()
默认构造函数。
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
覆盖可复制
|
int |
compare(Object o1, Object o2)
比较其两个顺序的参数。
|
abstract int |
compare(String source, String target)
比较字符串的源到目标字符串根据这个排序器的排序规则。
|
boolean |
equals(Object that)
比较两个对照者的平等。
|
boolean |
equals(String source, String target)
比较基于这两个字符串的排序规则排序的平等便捷方法。
|
static Locale[] |
getAvailableLocales()
返回一个数组的所有地方,这个班的
getInstance方法可以返回局部实例。
|
abstract CollationKey |
getCollationKey(String source)
将字符串转换成一系列的比特位可以比其他collationkeys。
|
int |
getDecomposition()
得到这一分解模式。
|
static Collator |
getInstance()
被整理为当前默认的区域设置。
|
static Collator |
getInstance(Locale desiredLocale)
获取所需的现场整理。
|
int |
getStrength()
返回此整理的强度特性。
|
abstract int |
hashCode()
生成该整理的哈希代码。
|
void |
setDecomposition(int decompositionMode)
这一集的分解模式。
|
void |
setStrength(int newStrength)
这一集的强度特性。
|
finalize, getClass, notify, notifyAll, toString, wait, wait, waitcomparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongpublic static final int PRIMARY
public static final int SECONDARY
public static final int TERTIARY
public static final int IDENTICAL
public static final int NO_DECOMPOSITION
public static final int CANONICAL_DECOMPOSITION
canonical_decomposition对应的归一化形式D中所描述的Unicode Technical Report #15。
public static final int FULL_DECOMPOSITION
full_decomposition对应的归一化形式描述Unicode Technical Report #15 KD。
protected Collator()
getInstance()
public static Collator getInstance()
Locale.getDefault()
public static Collator getInstance(Locale desiredLocale)
desiredLocale -所需的现场。
Locale,
ResourceBundle
public abstract int compare(String source, String target)
对于一一次比较,该方法具有最佳的性能。如果一个给定的字符串将参与多重比较,CollationKey.compareTo具有最好的性能。看到一类描述为例,利用CollationKeys。
source -源字符串。
target -目标字符串。
CollationKey,
getCollationKey(java.lang.String)
public int compare(Object o1, Object o2)
这是 compare((String)o1, (String)o2) 实现收益。
compare 接口
Comparator<Object>
o1要比较的第一个对象。
o2要比第二对象。
ClassCastException的参数不能被转换为字符串。
Comparator
public abstract CollationKey getCollationKey(String source)
source -被转化成一个排序键的字符串。
CollationKey,
compare(java.lang.String, java.lang.String)
public boolean equals(String source, String target)
source -源字符串比较。
target -以与目标字符串。
compare(java.lang.String, java.lang.String)
public int getStrength()
setStrength(int),
PRIMARY,
SECONDARY,
TERTIARY,
IDENTICAL
public void setStrength(int newStrength)
newStrength -新的强度值。
IllegalArgumentException -如果新的强度值不是一个小学,中学,大学或相同。
getStrength(),
PRIMARY,
SECONDARY,
TERTIARY,
IDENTICAL
public int getDecomposition()
分解模式的三个值是:
setDecomposition(int),
NO_DECOMPOSITION,
CANONICAL_DECOMPOSITION,
FULL_DECOMPOSITION
public void setDecomposition(int decompositionMode)
decompositionMode -新的分解模式。
IllegalArgumentException -如果给定的值不是一个有效的分解模式。
getDecomposition(),
NO_DECOMPOSITION,
CANONICAL_DECOMPOSITION,
FULL_DECOMPOSITION
public static Locale[] getAvailableLocales()
getInstance方法可以返回局部实例。返回的数组是由java运行时支持的地区联盟,通过安装
CollatorProvider实现。它必须包含至少一个现场实例等于
Locale.US。
Collator实例可用数组。
public boolean equals(Object that)
equals 接口
Comparator<Object>
equals 方法重写,继承类
Object
that -整理要与此相比。
Object.hashCode(),
HashMap
public abstract int hashCode()
hashCode 方法重写,继承类
Object
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
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.