java collator_java11教程--类Collator用法

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的列表进行排序时,通常需要多次比较每个String 。 在这种情况下, CollationKey s提供更好的性能。 所述CollationKey类转换String到一系列可以按位与其他进行比较的比特CollationKey秒。 甲CollationKey由创建Collator对象对于给定的String 。

注: CollationKey s来自不同的Collator s无法比较。 有关使用CollationKey的示例,请参阅CollationKey的类描述。

分解模式值。

分解模式值。

整理者实力值。

分解模式值。

整理者实力值。

整理者实力值。

整理者实力值。

默认构造函数。

覆盖Cloneable

比较它的两个参数的顺序。

根据此Collator的排序规则将源字符串与目标字符串进行比较。

比较两个Collators的平等性。

基于此Collator的校对规则比较两个字符串相等性的便捷方法。

返回

getInstance方法可以返回本地化实例的所有语言环境的数组。

将String转换为一系列位,可以按位与其他CollationKeys进行比较。

获取此Collator的分解模式。

获取当前默认语言环境的Collator。

获取所需语言环境的Collator。

返回此Collator的强度属性。

生成此Collator的哈希码。

设置此Collator的分解模式。

设置此Collator的强度属性。

整理者实力值。

设置后,在比较期间仅认为PRIMARY差异很大。

语言功能的优势分配取决于语言环境。

一个常见的例子是不同的基本字母(“a”与“b”)被认为是主要的差异。

整理者实力值。

设置时,在比较期间仅认为SECONDARY和以上差异是显着的。

语言功能的优势分配取决于语言环境。

一个常见的例子是同一个基本字母(“a”vs“¤”)的不同重音形式被认为是次要的差异。

整理者实力值。

设置后,在比较期间,只有TERTIARY和以上差异被认为是重要的。

语言功能的优势分配取决于语言环境。

一个常见的例子是案例差异(“a”与“A”)被视为第三方差异。

整理者实力值。

设置后,所有差异在比较期间都被认为是显着的。

语言功能的优势分配取决于语言环境。

一个常见的例子是控制字符(“\ u0001”vs“\ u0002”)在PRIMARY,SECONDARY和TERTIARY级别被认为是相等的,但在IDENTICAL级别上是不同的。

此外,如果分解设置为NO_DECOMPOSITION,则预先组合的重音(如“\ u00C0”(A-grave)和组合重音如“A \ u0300”(A,组合 - 重音)之间的差异在IDENTICAL级别将被视为重要。

分解模式值。

设置NO_DECOMPOSITION后,重音字符将不会被分解以进行整理。

这是默认设置,提供最快的排序规则,但只会为不使用重音的语言生成正确的结果。

分解模式值。

通过设置CANONICAL_DECOMPOSITION,将根据Unicode标准对规范变体的字符进行分解以进行整理。

这应该用于获得重音字符的正确排序。

CANONICAL_DECOMPOSITION对应于标准化形式D,如Unicode Technical Report #15中所述 。

分解模式值。

设置FULL_DECOMPOSITION后,将分解Unicode规范变体和Unicode兼容性变体以进行整理。

这不仅会导致重音字符被整理,还会导致具有特殊格式的字符与其标准形式进行整理。

例如,然后将半宽和全角ASCII和片假名字符整理在一起。

FULL_DECOMPOSITION是最完整的,因此也是最慢的分解模式。

FULL_DECOMPOSITION对应于标准化表格KD,如Unicode Technical Report #15中所述 。

默认构造函数。

此构造函数受到保护,因此子类可以访问它。

用户通常通过调用工厂方法getInstance来创建Collator子类。

获取当前默认语言环境的Collator。

默认语言环境由java.util.Locale.getDefault确定。

获取所需语言环境的Collator。

根据此Collator的排序规则将源字符串与目标字符串进行比较。

返回小于,等于或大于零的整数,具体取决于源String是否小于,等于或大于目标字符串。

有关使用示例,请参阅Collator类描述。

对于一次性比较,此方法具有最佳性能。 如果给定的String将涉及多个比较,则CollationKey.compareTo具有最佳性能。 有关使用CollationKeys的示例,请参阅Collator类说明。

比较它的两个参数的顺序。

返回负整数,零或正整数,因为第一个参数小于,等于或大于第二个参数。

此实现仅返回compare((String)o1, (String)o2) 。

将String转换为一系列位,可以按位与其他CollationKeys进行比较。

当字符串涉及多个比较时,CollationKeys提供比Collator.compare更好的性能。

有关使用CollationKeys的示例,请参阅Collator类说明。

基于此Collator的校对规则比较两个字符串相等性的便捷方法。

返回此Collator的强度属性。

强度属性确定在比较期间认为重要的最小差异水平。

有关使用示例,请参阅Collator类描述。

设置此Collator的强度属性。

强度属性确定在比较期间认为重要的最小差异水平。

有关使用示例,请参阅Collator类描述。

获取此Collator的分解模式。

分解模式确定如何处理Unicode组合字符。

调整分解模式允许用户在更快和更完整的校对行为之间进行选择。

分解模式的三个值是:

NO_DECOMPOSITION,

CANONICAL_DECOMPOSITION

FULL_DECOMPOSITION。

有关这三个常量的含义的说明,请参阅这些常量的文档。

设置此Collator的分解模式。

有关分解模式的说明,请参阅getDecomposition。

返回getInstance方法可以返回本地化实例的所有语言环境的数组。

返回的数组表示Java运行时和已安装的CollatorProvider实现支持的语言环境的并集 。

它必须至少包含一个等于Locale.US的Locale实例。

覆盖Cloneable

比较两个Collators的平等性。

生成此Collator的哈希码。

字段

变量和类型

字段

描述

static int

整理者实力值。

static int

分解模式值。

static int

整理者实力值。

static int

整理者实力值。

static int

整理者实力值。构造方法

变量

构造器

描述

protected

默认构造函数。变量和类型

方法

描述

覆盖Cloneable

int

比较它的两个参数的顺序。

abstract int

根据此Collator的排序规则将源字符串与目标字符串进行比较。

boolean

比较两个Collators的平等性。

boolean

基于此Collator的校对规则比较两个字符串相等性的便捷方法。

static Locale[]

返回

getInstance方法可以返回本地化实例的所有语言环境的数组。

将String转换为一系列位,可以按位与其他CollationKeys进行比较。

int

获取此Collator的分解模式。

获取当前默认语言环境的Collator。

获取所需语言环境的Collator。

int

返回此Collator的强度属性。

abstract int

生成此Collator的哈希码。

void

设置此Collator的分解模式。

void

设置此Collator的强度属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值