|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.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> 中的 compareo1 - 要比較的第一個物件。o2 - 要比較的第二個物件。
ClassCastException - 無法將參數強制轉換為 String。Comparatorpublic 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,
IDENTICALpublic void setStrength(int newStrength)
newStrength - 新的 strength 值。
IllegalArgumentException - 如果新的 strength 值不是 PRIMARY、SECONDARY、TERTIARY 或 IDENTICAL 之一。getStrength(),
PRIMARY,
SECONDARY,
TERTIARY,
IDENTICALpublic int getDecomposition()
用於 decomposition 網要的三個值是:
setDecomposition(int),
NO_DECOMPOSITION,
CANONICAL_DECOMPOSITION,
FULL_DECOMPOSITIONpublic void setDecomposition(int decompositionMode)
decompositionMode - 新的 decomposition 網要。
IllegalArgumentException - 如果給定值不是有效的 decomposition 網要。getDecomposition(),
NO_DECOMPOSITION,
CANONICAL_DECOMPOSITION,
FULL_DECOMPOSITIONpublic static Locale[] getAvailableLocales()
getInstance 方法可為這些語言環境返回已本地化的實例。 返回的陣列代表 Java 運行時和已安裝的 CollatorProvider 實作所支持的語言環境的聯合。它至少包含一個等同於 Locale.US 的 Locale 實例。
Collator 實例。public Object clone()
Object 中的 cloneCloneablepublic boolean equals(Object that)
Comparator<Object> 中的 equalsObject 中的 equalsthat - 要與此 Collator 進行比較的 Collator。
Object.hashCode(),
Hashtablepublic abstract int hashCode()
Object 中的 hashCodeObject.equals(java.lang.Object),
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。