|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.text.Collator
public abstract class Collator
Collator
類別執行區分語言環境的 String
比較。使用此類別可為自然語言文本建構搜尋和排序例程。
Collator
是一個抽象基礎類別。其子類別實作具體的整理策略。Java 平臺目前提供了 RuleBasedCollator
子類別,它適用於很多種語言。還可以創建其他子類別,以處理更多的專門需要。
與其他區分語言環境的類別一樣,可以使用靜態處理器方法 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
的 strength 屬性來確定比較中認為顯著的差異級別。提供了四種 strength:PRIMARY
、SECONDARY
、TERTIARY
和 IDENTICAL
。對語言特徵的確切 strength 賦值和語言環境相關。例如在捷克語中,"e" 和 "f" 被認為是 PRIMARY 差異,而 "e" 和 "ě" 則是 SECONDARY 差異,"e" 和 "E" 是 TERTIARY 差異,"e" 和 "e" 是 IDENTICAL。下面的範例顯示了如何針對美國英語忽略大小寫和重音。
//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
一次,則 compare
方法可提供最佳性能。但在對 String
列表排序時,通常需要對每個 String
進行多次比較。在這種情況下,CollationKey
可提供更好的性能。CollationKey
類別將一個 String
轉換成一系列可與其他 CollationKey
進行按位比較的位。CollationKey
是由 Collator
物件為給定的 String
所創建的。
註:不能比較由不同 Collator
創建的 CollationKey
。有關使用 CollationKey
的範例,請參閱 CollationKey
的類別描述。
RuleBasedCollator
,
CollationKey
,
CollationElementIterator
,
Locale
欄位摘要 | |
---|---|
static int |
CANONICAL_DECOMPOSITION
Decomposition 網要值。 |
static int |
FULL_DECOMPOSITION
Decomposition 網要值。 |
static int |
IDENTICAL
Collator 的 strength 值。 |
static int |
NO_DECOMPOSITION
Decomposition 網要值。 |
static int |
PRIMARY
Collator 的 strength 值。 |
static int |
SECONDARY
Collator 的 strength 值。 |
static int |
TERTIARY
Collator 的 strength 值。 |
建構子摘要 | |
---|---|
protected |
Collator()
預設的建構子。 |
方法摘要 | |
---|---|
Object |
clone()
覆寫 Cloneable |
int |
compare(Object o1,
Object o2)
比較此方法兩個參數的順序。 |
abstract int |
compare(String source,
String target)
根據此 Collator 的整理規則來比較源字元串和目標字元串。 |
boolean |
equals(Object that)
比較兩個 Collator 的相等性。 |
boolean |
equals(String source,
String target)
根據此 Collator 的整理規則比較兩個字元串是否相等的便捷方法。 |
static Locale[] |
getAvailableLocales()
返回一個所有受支持語言環境的陣列,此類別的 getInstance 方法可為這些語言環境返回已本地化的實例。 |
abstract CollationKey |
getCollationKey(String source)
將該 String 轉換為一系列可以和其他 CollationKey 按位進行比較的位。 |
int |
getDecomposition()
獲取此 Collator 的 decomposition 網要。 |
static Collator |
getInstance()
獲取當前預設語言環境的 Collator。 |
static Collator |
getInstance(Locale desiredLocale)
獲取所需語言環境的 Collator。 |
int |
getStrength()
返回此 Collator 的 strength 屬性。 |
abstract int |
hashCode()
產生此 Collator 的雜湊碼。 |
void |
setDecomposition(int decompositionMode)
設置此 Collator 的 decomposition 網要。 |
void |
setStrength(int newStrength)
設置此 Collator 的 strength 屬性。 |
從類別 java.lang.Object 繼承的方法 |
---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
欄位詳細資訊 |
---|
public static final int PRIMARY
setStrength(int)
,
getStrength()
,
常數欄位值public static final int SECONDARY
setStrength(int)
,
getStrength()
,
常數欄位值public static final int TERTIARY
setStrength(int)
,
getStrength()
,
常數欄位值public static final int IDENTICAL
public static final int NO_DECOMPOSITION
getDecomposition()
,
setDecomposition(int)
,
常數欄位值public static final int CANONICAL_DECOMPOSITION
CANONICAL_DECOMPOSITION 對應於 Unicode Technical Report #15 中所描述的 Normalization Form D。
getDecomposition()
,
setDecomposition(int)
,
常數欄位值public static final int FULL_DECOMPOSITION
FULL_DECOMPOSITION 對應於 Unicode Technical Report #15 中所描述的 Normalization Form KD。
getDecomposition()
,
setDecomposition(int)
,
常數欄位值建構子詳細資訊 |
---|
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)
對於一次比較,此方法具有最佳性能。如果在多次比較中涉及給定的 String,則 CollationKey.compareTo 具有最佳性能。有關使用 CollationKeys 的範例,請參閱 Collator 的類別描述。
source
- 源字元串。target
- 目標字元串。
CollationKey
,
getCollationKey(java.lang.String)
public int compare(Object o1, Object o2)
此實作僅返回 compare((String)o1, (String)o2)
。
Comparator<Object>
中的 compare
o1
- 要比較的第一個物件。o2
- 要比較的第二個物件。
ClassCastException
- 無法將參數強制轉換為 String。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
- 新的 strength 值。
IllegalArgumentException
- 如果新的 strength 值不是 PRIMARY、SECONDARY、TERTIARY 或 IDENTICAL 之一。getStrength()
,
PRIMARY
,
SECONDARY
,
TERTIARY
,
IDENTICAL
public int getDecomposition()
用於 decomposition 網要的三個值是:
setDecomposition(int)
,
NO_DECOMPOSITION
,
CANONICAL_DECOMPOSITION
,
FULL_DECOMPOSITION
public void setDecomposition(int decompositionMode)
decompositionMode
- 新的 decomposition 網要。
IllegalArgumentException
- 如果給定值不是有效的 decomposition 網要。getDecomposition()
,
NO_DECOMPOSITION
,
CANONICAL_DECOMPOSITION
,
FULL_DECOMPOSITION
public static Locale[] getAvailableLocales()
getInstance
方法可為這些語言環境返回已本地化的實例。 返回的陣列代表 Java 運行時和已安裝的 CollatorProvider
實作所支持的語言環境的聯合。它至少包含一個等同於 Locale.US
的 Locale 實例。
Collator
實例。public Object clone()
Object
中的 clone
Cloneable
public boolean equals(Object that)
Comparator<Object>
中的 equals
Object
中的 equals
that
- 要與此 Collator 進行比較的 Collator。
Object.hashCode()
,
Hashtable
public abstract int hashCode()
Object
中的 hashCode
Object.equals(java.lang.Object)
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。