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"); }
比较String
s恰好一次,这compare
方法提供了最佳的性能。当排序String
s然而,它一般是要比较各String
多次。在这种情况下,CollationKey
s提供更好的性能。的CollationKey
类将String
一系列比特位可以比较与其他CollationKey
s。一CollationKey
是由给定的String
Collator
对象创建一个。
注: CollationKey
s不同Collator
s不能相比的。看到班上的描述CollationKey
为例,采用CollationKey
s。
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, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public 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.