Collator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
该 Collator 类执行区域设置敏感 String 比较。
[Android.Runtime.Register("java/text/Collator", DoNotGenerateAcw=true)]
public abstract class Collator : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable, Java.Util.IComparator
[<Android.Runtime.Register("java/text/Collator", DoNotGenerateAcw=true)>]
type Collator = class
inherit Object
interface ICloneable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComparator
- 继承
- 派生
- 属性
- 实现
注解
该 Collator 类执行区域设置敏感 String 比较。 使用此类生成自然语言文本的搜索和排序例程。
Collator 是抽象基类。 子类实现特定的排序规则策略。 一个子类RuleBasedCollator目前随Java平台一起提供,适用于一组广泛的语言。 可以创建其他子类来处理更专业化的需求。
与其他区分区域设置的类一样,可以使用静态工厂方法 getInstance获取给定区域设置的相应 Collator 对象。 仅当需要了解特定排序规则的详细信息或需要修改该策略时,才需要查看子类 Collator 。
以下示例演示如何使用 Collator 默认区域设置比较两个字符串。
<blockquote>
{@code
// 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");
}
</blockquote>
可以设置 Collator's em <>strength</em> 属性,以确定在比较中被视为显著的差异级别。 提供了四个优势: PRIMARY、 SECONDARY、 TERTIARY和 IDENTICAL。 语言特征的确切强度分配取决于区域设置。 例如,在捷克,“e”和“f”被视为主要差异,而“e”和“ě”是次要差异,“e”和“E”是三级差异,“e”和“e”是相同的。 下面显示了美国英语如何忽略大小写和口音。
<blockquote>
//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");
}
</blockquote>
为了准确比较 String一次,该方法 compare 可提供最佳性能。 但是,对列表String进行排序时,通常需要多次比较。String 在这种情况下, CollationKey可提供更好的性能。 该 CollationKey 类将一个 String 转换为一系列位,可以按位与其他 CollationKey位进行比较。 A CollationKey 由 Collator 给定 String对象创建。
<br><strong Note:</strong>>CollationKeys from different Collators can compared. 有关使用 CollationKeys 的示例,请参阅类说明CollationKey。
在 1.1 中添加。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
构造函数
| 名称 | 说明 |
|---|---|
| Collator() |
默认构造函数。 |
| Collator(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
字段
| 名称 | 说明 |
|---|---|
| CanonicalDecomposition |
分解模式值。 |
| FullDecomposition |
分解模式值。 |
| Identical |
排序器强度值。 |
| NoDecomposition |
分解模式值。 |
| Primary |
排序器强度值。 |
| Secondary |
排序器强度值。 |
| Tertiary |
排序器强度值。 |
属性
| 名称 | 说明 |
|---|---|
| Class |
返回此 |
| Decomposition |
获取此排序器分解模式。 - 或 - 设置此排序器分解模式。 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| Instance |
获取当前默认区域设置的 Collator。 |
| JniIdentityHashCode |
该 |
| JniPeerMembers |
该 |
| PeerReference |
该 |
| Strength |
返回此 Collator 的强度属性。 - 或 - 设置此 Collator 的强度属性。 |
| ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
| ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
| 名称 | 说明 |
|---|---|
| Clone() |
返回一个新的排序规则器,其分解模式和强度值与此排序器相同。 |
| Compare(Object, Object) |
比较其两个订单参数。 |
| Compare(String, String) |
根据此 Collator 的排序规则,将源字符串与目标字符串进行比较。 |
| Dispose() |
该 |
| Dispose(Boolean) |
该 |
| Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
| Equals(String, String) |
基于此排序规则比较两个字符串相等的便利方法。 |
| GetAvailableLocales() |
返回此类方法可以返回本地化实例的所有区域设置 |
| GetCollationKey(String) |
将字符串转换为可以按位与其他 CollationKey 进行比较的一系列位。 |
| GetHashCode() |
生成此 Collator 的哈希代码。 |
| GetInstance(Locale) |
获取所需区域设置的 Collator。 |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| ToArray<T>() |
该 |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
该 |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IComparator.Compare(Object, Object) |
该 |
| IJavaPeerable.Disposed() |
该 |
| IJavaPeerable.DisposeUnlessReferenced() |
该 |
| IJavaPeerable.Finalized() |
该 |
| IJavaPeerable.JniManagedPeerState |
该 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
该 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
该 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
该 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
该 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |