Collator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
<強力>加護病房增強</強力> 加護病房取代 java.text.Collator了。
[Android.Runtime.Register("android/icu/text/Collator", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class Collator : Java.Lang.Object, Android.Icu.Util.IFreezable, IDisposable, Java.Util.IComparator
[<Android.Runtime.Register("android/icu/text/Collator", ApiSince=24, DoNotGenerateAcw=true)>]
type Collator = class
inherit Object
interface IFreezable
interface ICloneable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComparator
- 繼承
- 衍生
- 屬性
- 實作
備註
<強力>[加護病房增強]</強重> 加護病房取代 java.text.Collator. ICU特有的方法、領域及其他功能標示為「<強力>[重症監護室]</強力>」。
Collator 執行區域敏感字串比較。 一個具體子類別 RuleBasedCollator 允許透過規則集來自訂排序順序。
Collator 只有在凍結時才是線程安全的。 請參閱 #isFrozen() 與 Freezable。
依照 Unicode聯盟對 Unicode整合演算法(UCA)的規範,比較中會使用五種不同的強度等級:
<ul><li>主要強度:通常用來表示基本字元之間的差異(例如「a」和「b」)。 這是最明顯的差異。 例如,字典依底字劃分為不同章節。
與 JDK 不同,ICU4J 的 Collator 僅處理兩種分解模式,一種是標準分解模式,另一種則是不使用任何分解。 相容性分解模式java.text.Collator.FULL_DECOMPOSITION此處不支援。 若設定為典型分解模式,整理器會正確處理未正規化的文字,產生與 NFD 正規化文本相同的結果。 若正典分解被關閉,使用者需確保所有文字格式已正確,才能進行比較或取得 CollationKey。
欲了解更多關於彙整服務的資訊 ,請參閱使用者指南。
使用範例
// 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");
}
The following example shows how to compare two strings using the
Collator for the default locale.
// Compare two strings in the default locale
Collator myCollator = Collator.getInstance();
myCollator.setDecomposition(NO_DECOMPOSITION);
if (myCollator.compare("à\u0325", "a\u0325̀") != 0) {
System.out.println("à\u0325 is not equals to a\u0325̀ without decomposition");
myCollator.setDecomposition(CANONICAL_DECOMPOSITION);
if (myCollator.compare("à\u0325", "a\u0325̀") != 0) {
System.out.println("Error: à\u0325 should be equals to a\u0325̀ with decomposition");
}
else {
System.out.println("à\u0325 is equals to a\u0325̀ with decomposition");
}
}
else {
System.out.println("Error: à\u0325 should be not equals to a\u0325̀ without decomposition");
}
Java 文件 android.icu.text.Collator。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| Collator() |
空的預設建構函數讓 javadocs 滿意 |
| Collator(IntPtr, JniHandleOwnership) |
<強力>加護病房增強</強力> 加護病房取代 |
欄位
| 名稱 | Description |
|---|---|
| CanonicalDecomposition |
已淘汰.
分解模式值。 |
| FullDecomposition |
已淘汰.
<strong>[icu] 注意:</strong> 此功能僅用於向下相容 Java API。 |
| Identical |
已淘汰.
最小的 Collator 強度值。 |
| NoDecomposition |
已淘汰.
分解模式值。 |
| Primary |
已淘汰.
最強的收集器強度值。 |
| Quaternary |
已淘汰.
<強[>重症監護室]</強力> 第四級整理者力量值。 |
| Secondary |
已淘汰.
第二級收集者強度值。 |
| Tertiary |
已淘汰.
三級收集者力量值。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Decomposition |
回傳此整理器的分解模式。 -或- 設定此排序器的分解模式。 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| Instance |
會回傳目前預設地點的整理器。 |
| IsFrozen |
判斷物體是否被凍結。 |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
<強力>加護病房增強</強力> 加護病房取代 |
| JniPeerMembers |
<強力>加護病房增強</強力> 加護病房取代 |
| MaxVariable |
<strong>[icu]</strong> 回傳受替代處理行為影響的重排序最大群組。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| Strength |
回傳此 Collator 的力量屬性。 -或- 設定此計數器的力量屬性。 |
| TailoredSet |
<strong>[icu]</strong> 回傳一個包含此彙整器中所有字元與序列的 UnicodeSet。 |
| ThresholdClass |
<強力>加護病房增強</強力> 加護病房取代 |
| ThresholdType |
<強力>加護病房增強</強力> 加護病房取代 |
| UCAVersion |
[加護病房]回傳此整理器物件的 UCA 版本。 |
| VariableTop |
[加護病房]取得 Collator 的可變頂值。 |
| Version |
[加護病房]回傳這個整理器物件的版本。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
複製人整理器。 |
| CloneAsThawed() |
提供複製人行動的規定。 |
| Compare(Object, Object) |
比較來源物件與目標物件。 |
| Compare(String, String) |
根據此整理器的規則、強度與分解模式,將原始文字字串與目標文字字串進行比較。 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
<強力>加護病房增強</強力> 加護病房取代 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
<強力>加護病房增強</強力> 加護病房取代 |
| Equals(Object) |
<強力>加護病房增強</強力> 加護病房取代 |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| Equals(String, String) |
利用此拼貼器的規則、強度與分解模式比較兩個文字字串的相等性。 |
| Freeze() |
會凍結整理器。 |
| GetAvailableLocales() |
回傳安裝整合器的 locale 物件集合。 |
| GetAvailableULocales() |
<strong>[icu]</strong> 回傳安裝整合器的 ULocale 物件位置集合。 |
| GetCollationKey(String) |
將字串轉換為適合高效重複比較的 CollationKey。 |
| GetDisplayName(Locale, Locale) |
<strong>[icu]</strong> 回傳 objectLocale 的整理器名稱,並對 displayLocale 進行區域化。 |
| GetDisplayName(Locale) |
<strong>[iccu]</strong> 回傳 objectLocale 的整理器名稱,預設 locale 是本地化 |
| GetDisplayName(ULocale, ULocale) |
<strong>[icu]</strong> 回傳 objectLocale 的整理器名稱,並對 displayLocale 進行區域化。 |
| GetDisplayName(ULocale) |
<strong>[iccu]</strong> 回傳 objectLocale 的整理器名稱,預設 locale 是本地化 |
| GetEquivalentReorderCodes(Int32) |
檢索所有與該重排序碼分組的重排序碼。 |
| GetFunctionalEquivalent(String, ULocale, Boolean[]) |
<strong>[icu]</strong> 回傳該指定地點的功能等價位置,該地點相對於特定關鍵字,適用於該整合服務。 |
| GetFunctionalEquivalent(String, ULocale) |
<strong>[icu]</strong> 回傳該指定地點的功能等價位置,該地點相對於特定關鍵字,適用於該整合服務。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetInstance(Locale) |
回傳想要地點的整理器。 |
| GetInstance(ULocale) |
<strong>[icu]</strong> 回傳所需地點的整理器。 |
| GetKeywords() |
<strong>[icu]</strong> 回傳所有與彙整相關的可能關鍵字陣列。 |
| GetKeywordValues(String) |
<strong>[iccu]</strong> 給定一個關鍵字,回傳一個包含該關鍵字目前正在使用的所有值的陣列。 |
| GetKeywordValuesForLocale(String, ULocale, Boolean) |
<strong>[icu]</strong> 給定一個鍵和一個位置,會回傳一組以偏好順序排列的字串值,這會產生差異。 |
| GetReorderCodes() |
取得此整理器的重排序代碼。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetMaxVariable(Int32) |
<strong>[icu]</strong> 將變數頂置為指定重排序群組的頂端。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
<強力>加護病房增強</強力> 加護病房取代 |
| SetReorderCodes(Int32[]) |
設定此整理器的重新排序代碼。 |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IComparator.Compare(Object, Object) |
<強力>加護病房增強</強力> 加護病房取代 |
| IFreezable.CloneAsThawed() |
<強力>加護病房增強</強力> 加護病房取代 |
| IFreezable.Freeze() |
<強力>加護病房增強</強力> 加護病房取代 |
| IJavaPeerable.Disposed() |
<強力>加護病房增強</強力> 加護病房取代 |
| IJavaPeerable.Finalized() |
<強力>加護病房增強</強力> 加護病房取代 |
| IJavaPeerable.JniObjectReferenceControlBlock |
<強力>加護病房增強</強力> 加護病房取代 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
<強力>加護病房增強</強力> 加護病房取代 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
<強力>加護病房增強</強力> 加護病房取代 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
<強力>加護病房增強</強力> 加護病房取代 |
| IJavaPeerable.UnregisterFromRuntime() |
<強力>加護病房增強</強力> 加護病房取代 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
<強力>加護病房增強</強力> 加護病房取代 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |